/* tslint:disable */
/* eslint-disable */
/**
 * service-registry
 * Сервис Реестра Услуг
 *
 * The version of the OpenAPI document: 1
 * Contact: akurako@inpromconsult.ru
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


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

/**
 * Действия
 * @export
 * @interface Action
 */
export interface Action {
    /**
     * Порядковый номер
     * @type {number}
     * @memberof Action
     */
    number?: number;
    /**
     * Название
     * @type {string}
     * @memberof Action
     */
    name: string;
    /**
     * Канал
     * @type {string}
     * @memberof Action
     */
    channel: string;
    /**
     * Комментарий
     * @type {string}
     * @memberof Action
     */
    comment: string;
    /**
     * Подолжительноть
     * @type {string}
     * @memberof Action
     */
    duration: string;
    /**
     * Мера продолжительности
     * @type {string}
     * @memberof Action
     */
    durationUnit: string;
}
/**
 * Шаги
 * @export
 * @interface ApproveSteps
 */
export interface ApproveSteps {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof ApproveSteps
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof ApproveSteps
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof ApproveSteps
     */
    schema?: string;
    /**
     * Id услуги
     * @type {string}
     * @memberof ApproveSteps
     */
    serviceId: string;
    /**
     * Id head организации
     * @type {string}
     * @memberof ApproveSteps
     */
    headOrgId: string;
    /**
     * Последовательность шагов
     * @type {Array<Step>}
     * @memberof ApproveSteps
     */
    steps?: Array<Step>;
}
/**
 * 
 * @export
 * @interface ApproveStepsAllOf
 */
export interface ApproveStepsAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof ApproveStepsAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof ApproveStepsAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof ApproveStepsAllOf
     */
    schema?: string;
    /**
     * Id услуги
     * @type {string}
     * @memberof ApproveStepsAllOf
     */
    serviceId?: string;
    /**
     * Id head организации
     * @type {string}
     * @memberof ApproveStepsAllOf
     */
    headOrgId?: string;
    /**
     * Последовательность шагов
     * @type {Array<Step>}
     * @memberof ApproveStepsAllOf
     */
    steps?: Array<Step>;
}
/**
 * Сведения о подписи приложения к документу
 * @export
 * @interface AttachmentSignatureInfo
 */
export interface AttachmentSignatureInfo {
    /**
     * Имя файла
     * @type {string}
     * @memberof AttachmentSignatureInfo
     */
    fileName: string;
    /**
     * Подпись файла
     * @type {string}
     * @memberof AttachmentSignatureInfo
     */
    signature?: string;
    /**
     * Имя сертификата
     * @type {string}
     * @memberof AttachmentSignatureInfo
     */
    certificateCommonName?: string;
    /**
     * Серийный номер сертификата
     * @type {string}
     * @memberof AttachmentSignatureInfo
     */
    certificateSerialNumber?: string;
}
/**
 * Справочник детских лагерей
 * @export
 * @interface Camp
 */
export interface Camp {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof Camp
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof Camp
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof Camp
     */
    schema?: string;
}
/**
 * 
 * @export
 * @interface CampAllOf
 */
export interface CampAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof CampAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof CampAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof CampAllOf
     */
    schema?: string;
}
/**
 * 
 * @export
 * @interface CheckResultTO
 */
export interface CheckResultTO {
    /**
     * Verification.code
     * @type {string}
     * @memberof CheckResultTO
     */
    code?: string;
    /**
     * Verification.type
     * @type {string}
     * @memberof CheckResultTO
     */
    type?: string;
    /**
     * Verification.baseDocument
     * @type {string}
     * @memberof CheckResultTO
     */
    baseDocument?: string;
    /**
     * Verification.name
     * @type {string}
     * @memberof CheckResultTO
     */
    name?: string;
    /**
     * 
     * @type {Array<Value>}
     * @memberof CheckResultTO
     */
    values?: Array<Value>;
}
/**
 * 
 * @export
 * @interface CheckSubjectTO
 */
export interface CheckSubjectTO {
    /**
     * DecisionObjectTO.id
     * @type {string}
     * @memberof CheckSubjectTO
     */
    id?: string;
    /**
     * DecisionObjectTO.name
     * @type {string}
     * @memberof CheckSubjectTO
     */
    name?: string;
    /**
     * DecisionObjectTO.type
     * @type {string}
     * @memberof CheckSubjectTO
     */
    type?: string;
}
/**
 * Check List for Service
 * @export
 * @interface CheckTO
 */
export interface CheckTO {
    /**
     * 
     * @type {Array<CheckResultTO>}
     * @memberof CheckTO
     */
    results?: Array<CheckResultTO>;
    /**
     * 
     * @type {Array<CheckSubjectTO>}
     * @memberof CheckTO
     */
    subjects?: Array<CheckSubjectTO>;
}
/**
 * 
 * @export
 * @interface CompletedFileUpload
 */
export interface CompletedFileUpload {
    /**
     * 
     * @type {MediaType}
     * @memberof CompletedFileUpload
     */
    contentType?: MediaType;
    /**
     * 
     * @type {string}
     * @memberof CompletedFileUpload
     */
    name?: string;
    /**
     * 
     * @type {number}
     * @memberof CompletedFileUpload
     */
    size?: number;
    /**
     * 
     * @type {string}
     * @memberof CompletedFileUpload
     */
    filename?: string;
    /**
     * 
     * @type {boolean}
     * @memberof CompletedFileUpload
     */
    complete?: boolean;
    /**
     * 
     * @type {number}
     * @memberof CompletedFileUpload
     */
    definedSize?: number;
    /**
     * 
     * @type {Array<string>}
     * @memberof CompletedFileUpload
     */
    bytes?: Array<string>;
    /**
     * 
     * @type {object}
     * @memberof CompletedFileUpload
     */
    inputStream?: object;
    /**
     * 
     * @type {CompletedFileUploadByteBuffer}
     * @memberof CompletedFileUpload
     */
    byteBuffer?: CompletedFileUploadByteBuffer;
}
/**
 * 
 * @export
 * @interface CompletedFileUploadByteBuffer
 */
export interface CompletedFileUploadByteBuffer {
    /**
     * 
     * @type {number}
     * @memberof CompletedFileUploadByteBuffer
     */
    _short?: number;
    /**
     * 
     * @type {string}
     * @memberof CompletedFileUploadByteBuffer
     */
    _char?: string;
    /**
     * 
     * @type {number}
     * @memberof CompletedFileUploadByteBuffer
     */
    _int?: number;
    /**
     * 
     * @type {number}
     * @memberof CompletedFileUploadByteBuffer
     */
    _long?: number;
    /**
     * 
     * @type {number}
     * @memberof CompletedFileUploadByteBuffer
     */
    _float?: number;
    /**
     * 
     * @type {number}
     * @memberof CompletedFileUploadByteBuffer
     */
    _double?: number;
    /**
     * 
     * @type {boolean}
     * @memberof CompletedFileUploadByteBuffer
     */
    direct?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof CompletedFileUploadByteBuffer
     */
    readOnly?: boolean;
}
/**
 * Связь услуги с кастомной формой
 * @export
 * @interface CustomFormLink
 */
export interface CustomFormLink {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof CustomFormLink
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof CustomFormLink
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof CustomFormLink
     */
    schema?: string;
    /**
     * Id услуги, к которой относится данные ссылки
     * @type {string}
     * @memberof CustomFormLink
     */
    serviceId: string;
    /**
     * Список ссылок на формы межведов
     * @type {{ [key: string]: { [key: string]: string; }; }}
     * @memberof CustomFormLink
     */
    customInteragencyForms?: { [key: string]: { [key: string]: string; }; };
}
/**
 * 
 * @export
 * @interface CustomFormLinkAllOf
 */
export interface CustomFormLinkAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof CustomFormLinkAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof CustomFormLinkAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof CustomFormLinkAllOf
     */
    schema?: string;
    /**
     * Id услуги, к которой относится данные ссылки
     * @type {string}
     * @memberof CustomFormLinkAllOf
     */
    serviceId?: string;
    /**
     * Список ссылок на формы межведов
     * @type {{ [key: string]: { [key: string]: string; }; }}
     * @memberof CustomFormLinkAllOf
     */
    customInteragencyForms?: { [key: string]: { [key: string]: string; }; };
}
/**
 * 
 * @export
 * @interface DecisionObjectTO
 */
export interface DecisionObjectTO {
    /**
     * 
     * @type {string}
     * @memberof DecisionObjectTO
     */
    id?: string;
    /**
     * 
     * @type {string}
     * @memberof DecisionObjectTO
     */
    name?: string;
    /**
     * 
     * @type {string}
     * @memberof DecisionObjectTO
     */
    subjectType?: string;
    /**
     * 
     * @type {string}
     * @memberof DecisionObjectTO
     */
    type?: string;
    /**
     * 
     * @type {DecisionObjectTO}
     * @memberof DecisionObjectTO
     */
    expands?: DecisionObjectTO;
}
/**
 * Дефолтный межвед
 * @export
 * @interface DefaultInteragency
 */
export interface DefaultInteragency {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof DefaultInteragency
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof DefaultInteragency
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof DefaultInteragency
     */
    schema?: string;
    /**
     * Идентификатор определения СМЕВ запроса
     * @type {string}
     * @memberof DefaultInteragency
     */
    clazz: string;
    /**
     * Маппинг
     * @type {{ [key: string]: object; }}
     * @memberof DefaultInteragency
     */
    mapping: { [key: string]: object; };
    /**
     * Код СМЭВ
     * @type {string}
     * @memberof DefaultInteragency
     */
    smevId?: string;
    /**
     * Ссылка на шаблон документа
     * @type {string}
     * @memberof DefaultInteragency
     */
    templateUrl?: string;
    /**
     * Описание межведа
     * @type {string}
     * @memberof DefaultInteragency
     */
    description?: string;
    /**
     * Поставщик
     * @type {string}
     * @memberof DefaultInteragency
     */
    provider?: string;
    /**
     * Тип запроса
     * @type {string}
     * @memberof DefaultInteragency
     */
    get_class: string;
}
/**
 * 
 * @export
 * @interface DefaultInteragencyAllOf
 */
export interface DefaultInteragencyAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof DefaultInteragencyAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof DefaultInteragencyAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof DefaultInteragencyAllOf
     */
    schema?: string;
    /**
     * Идентификатор определения СМЕВ запроса
     * @type {string}
     * @memberof DefaultInteragencyAllOf
     */
    clazz?: string;
    /**
     * Маппинг
     * @type {{ [key: string]: object; }}
     * @memberof DefaultInteragencyAllOf
     */
    mapping?: { [key: string]: object; };
    /**
     * Код СМЭВ
     * @type {string}
     * @memberof DefaultInteragencyAllOf
     */
    smevId?: string;
    /**
     * Ссылка на шаблон документа
     * @type {string}
     * @memberof DefaultInteragencyAllOf
     */
    templateUrl?: string;
    /**
     * Описание межведа
     * @type {string}
     * @memberof DefaultInteragencyAllOf
     */
    description?: string;
    /**
     * Поставщик
     * @type {string}
     * @memberof DefaultInteragencyAllOf
     */
    provider?: string;
    /**
     * Тип запроса
     * @type {string}
     * @memberof DefaultInteragencyAllOf
     */
    get_class?: string;
}
/**
 * Департамент
 * @export
 * @interface Department
 */
export interface Department {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof Department
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof Department
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof Department
     */
    schema?: string;
    /**
     * Имя Департамента
     * @type {string}
     * @memberof Department
     */
    name: string;
    /**
     * Краткое имя
     * @type {string}
     * @memberof Department
     */
    shortname?: string;
    /**
     * Полное имя
     * @type {string}
     * @memberof Department
     */
    fullname?: string;
    /**
     * email
     * @type {string}
     * @memberof Department
     */
    email?: string;
    /**
     * Телефон
     * @type {string}
     * @memberof Department
     */
    phone?: string;
    /**
     * НСИ идентификатор департамента
     * @type {string}
     * @memberof Department
     */
    nsiDepartmentId?: string;
    /**
     * НСИ идентификатор организации
     * @type {string}
     * @memberof Department
     */
    nsiOrganizationId?: string;
    /**
     * ОКТМО
     * @type {string}
     * @memberof Department
     */
    oktmo?: string;
    /**
     * НСИ идентификатор услуги (по нему происходит связка с нашей услугой в реестре при создании департамента, линк \'services\')
     * @type {string}
     * @memberof Department
     */
    nsiService?: string;
    /**
     * Dns
     * @type {string}
     * @memberof Department
     */
    dns?: string;
    /**
     * Адрес
     * @type {string}
     * @memberof Department
     */
    address?: string;
    /**
     * ЕПГУ ID (currentDivision)
     * @type {string}
     * @memberof Department
     */
    epguId?: string;
    /**
     * ОГРН организации департамента
     * @type {string}
     * @memberof Department
     */
    orgOgrn?: string;
    /**
     * ОГРН департамента
     * @type {string}
     * @memberof Department
     */
    depOgrn?: string;
    /**
     * 
     * @type {Set<string>}
     * @memberof Department
     */
    serviceCodes?: Set<string>;
}
/**
 * 
 * @export
 * @interface DepartmentAllOf
 */
export interface DepartmentAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof DepartmentAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof DepartmentAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof DepartmentAllOf
     */
    schema?: string;
    /**
     * Имя Департамента
     * @type {string}
     * @memberof DepartmentAllOf
     */
    name?: string;
    /**
     * Краткое имя
     * @type {string}
     * @memberof DepartmentAllOf
     */
    shortname?: string;
    /**
     * Полное имя
     * @type {string}
     * @memberof DepartmentAllOf
     */
    fullname?: string;
    /**
     * email
     * @type {string}
     * @memberof DepartmentAllOf
     */
    email?: string;
    /**
     * Телефон
     * @type {string}
     * @memberof DepartmentAllOf
     */
    phone?: string;
    /**
     * НСИ идентификатор департамента
     * @type {string}
     * @memberof DepartmentAllOf
     */
    nsiDepartmentId?: string;
    /**
     * НСИ идентификатор организации
     * @type {string}
     * @memberof DepartmentAllOf
     */
    nsiOrganizationId?: string;
    /**
     * ОКТМО
     * @type {string}
     * @memberof DepartmentAllOf
     */
    oktmo?: string;
    /**
     * НСИ идентификатор услуги (по нему происходит связка с нашей услугой в реестре при создании департамента, линк \'services\')
     * @type {string}
     * @memberof DepartmentAllOf
     */
    nsiService?: string;
    /**
     * Dns
     * @type {string}
     * @memberof DepartmentAllOf
     */
    dns?: string;
    /**
     * Адрес
     * @type {string}
     * @memberof DepartmentAllOf
     */
    address?: string;
    /**
     * ЕПГУ ID (currentDivision)
     * @type {string}
     * @memberof DepartmentAllOf
     */
    epguId?: string;
    /**
     * ОГРН организации департамента
     * @type {string}
     * @memberof DepartmentAllOf
     */
    orgOgrn?: string;
    /**
     * ОГРН департамента
     * @type {string}
     * @memberof DepartmentAllOf
     */
    depOgrn?: string;
    /**
     * 
     * @type {Set<string>}
     * @memberof DepartmentAllOf
     */
    serviceCodes?: Set<string>;
}
/**
 * Справочник Elastic
 * @export
 * @interface Dictionary
 */
export interface Dictionary {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof Dictionary
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof Dictionary
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof Dictionary
     */
    schema?: string;
    /**
     * НСИ идентификатор справочника
     * @type {string}
     * @memberof Dictionary
     */
    nsiDictionaryId?: string;
    /**
     * Имя справочника
     * @type {string}
     * @memberof Dictionary
     */
    name: string;
    /**
     * Код справочника
     * @type {string}
     * @memberof Dictionary
     */
    code?: string;
    /**
     * Версия
     * @type {string}
     * @memberof Dictionary
     */
    version?: string;
    /**
     * ID услуги
     * @type {string}
     * @memberof Dictionary
     */
    get_service_id?: string;
    /**
     * 
     * @type {Array<DictionaryDocument>}
     * @memberof Dictionary
     */
    documents: Array<DictionaryDocument>;
}
/**
 * 
 * @export
 * @interface DictionaryAllOf
 */
export interface DictionaryAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof DictionaryAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof DictionaryAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof DictionaryAllOf
     */
    schema?: string;
    /**
     * НСИ идентификатор справочника
     * @type {string}
     * @memberof DictionaryAllOf
     */
    nsiDictionaryId?: string;
    /**
     * Имя справочника
     * @type {string}
     * @memberof DictionaryAllOf
     */
    name?: string;
    /**
     * Код справочника
     * @type {string}
     * @memberof DictionaryAllOf
     */
    code?: string;
    /**
     * Версия
     * @type {string}
     * @memberof DictionaryAllOf
     */
    version?: string;
    /**
     * ID услуги
     * @type {string}
     * @memberof DictionaryAllOf
     */
    get_service_id?: string;
    /**
     * 
     * @type {Array<DictionaryDocument>}
     * @memberof DictionaryAllOf
     */
    documents?: Array<DictionaryDocument>;
}
/**
 * 
 * @export
 * @interface DictionaryDocument
 */
export interface DictionaryDocument {
    /**
     * 
     * @type {string}
     * @memberof DictionaryDocument
     */
    code: string;
    /**
     * 
     * @type {string}
     * @memberof DictionaryDocument
     */
    value?: string;
    /**
     * 
     * @type {string}
     * @memberof DictionaryDocument
     */
    comment?: string;
    /**
     * 
     * @type {string}
     * @memberof DictionaryDocument
     */
    description?: string;
}
/**
 * Цифровой регламент
 * @export
 * @interface DigitalReglament
 */
export interface DigitalReglament {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof DigitalReglament
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof DigitalReglament
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof DigitalReglament
     */
    schema?: string;
    /**
     * Полное наименование услуги
     * @type {string}
     * @memberof DigitalReglament
     */
    fullName: string;
    /**
     * Ид КЦР
     * @type {string}
     * @memberof DigitalReglament
     */
    kcrId: string;
    /**
     * Исходный объект КЦР
     * @type {object}
     * @memberof DigitalReglament
     */
    original: object;
}
/**
 * 
 * @export
 * @interface DigitalReglamentAllOf
 */
export interface DigitalReglamentAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof DigitalReglamentAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof DigitalReglamentAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof DigitalReglamentAllOf
     */
    schema?: string;
    /**
     * Полное наименование услуги
     * @type {string}
     * @memberof DigitalReglamentAllOf
     */
    fullName?: string;
    /**
     * Ид КЦР
     * @type {string}
     * @memberof DigitalReglamentAllOf
     */
    kcrId?: string;
    /**
     * Исходный объект КЦР
     * @type {object}
     * @memberof DigitalReglamentAllOf
     */
    original?: object;
}
/**
 * Процесс цифрового регламента
 * @export
 * @interface DigitalReglamentProcess
 */
export interface DigitalReglamentProcess {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof DigitalReglamentProcess
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof DigitalReglamentProcess
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof DigitalReglamentProcess
     */
    schema?: string;
    /**
     * Код процесса
     * @type {string}
     * @memberof DigitalReglamentProcess
     */
    code: string;
    /**
     * Название процесса
     * @type {string}
     * @memberof DigitalReglamentProcess
     */
    name: string;
    /**
     * Тип процесса
     * @type {string}
     * @memberof DigitalReglamentProcess
     */
    type: string;
}
/**
 * 
 * @export
 * @interface DigitalReglamentProcessAllOf
 */
export interface DigitalReglamentProcessAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof DigitalReglamentProcessAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof DigitalReglamentProcessAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof DigitalReglamentProcessAllOf
     */
    schema?: string;
    /**
     * Код процесса
     * @type {string}
     * @memberof DigitalReglamentProcessAllOf
     */
    code?: string;
    /**
     * Название процесса
     * @type {string}
     * @memberof DigitalReglamentProcessAllOf
     */
    name?: string;
    /**
     * Тип процесса
     * @type {string}
     * @memberof DigitalReglamentProcessAllOf
     */
    type?: string;
}
/**
 * 
 * @export
 * @interface Document
 */
export interface Document {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof Document
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof Document
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof Document
     */
    schema?: string;
}
/**
 * Приложения документа
 * @export
 * @interface DocumentAttachmentAsJSON
 */
export interface DocumentAttachmentAsJSON {
    /**
     * Имя файла
     * @type {string}
     * @memberof DocumentAttachmentAsJSON
     */
    fileName: string;
    /**
     * Размер файла в байтах
     * @type {number}
     * @memberof DocumentAttachmentAsJSON
     */
    size: number;
    /**
     * Расширение файла
     * @type {string}
     * @memberof DocumentAttachmentAsJSON
     */
    ext: string;
    /**
     * Тело файла в base64
     * @type {string}
     * @memberof DocumentAttachmentAsJSON
     */
    body: string;
    /**
     * Описание файла
     * @type {string}
     * @memberof DocumentAttachmentAsJSON
     */
    description?: string;
}
/**
 * 
 * @export
 * @interface DocumentAttachmentFileDescriptor
 */
export interface DocumentAttachmentFileDescriptor {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof DocumentAttachmentFileDescriptor
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof DocumentAttachmentFileDescriptor
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof DocumentAttachmentFileDescriptor
     */
    schema?: string;
    /**
     * 
     * @type {string}
     * @memberof DocumentAttachmentFileDescriptor
     */
    fileName: string;
    /**
     * 
     * @type {number}
     * @memberof DocumentAttachmentFileDescriptor
     */
    size: number;
    /**
     * 
     * @type {string}
     * @memberof DocumentAttachmentFileDescriptor
     */
    ext: string;
    /**
     * 
     * @type {string}
     * @memberof DocumentAttachmentFileDescriptor
     */
    mediaType?: string;
    /**
     * 
     * @type {string}
     * @memberof DocumentAttachmentFileDescriptor
     */
    description?: string;
    /**
     * 
     * @type {string}
     * @memberof DocumentAttachmentFileDescriptor
     */
    created?: string;
    /**
     * 
     * @type {string}
     * @memberof DocumentAttachmentFileDescriptor
     */
    bodyId: string;
    /**
     * 
     * @type {string}
     * @memberof DocumentAttachmentFileDescriptor
     */
    hash?: string;
    /**
     * 
     * @type {DocumentAttachmentSignatureInfo}
     * @memberof DocumentAttachmentFileDescriptor
     */
    signatureInfo?: DocumentAttachmentSignatureInfo;
    /**
     * 
     * @type {string}
     * @memberof DocumentAttachmentFileDescriptor
     */
    schemaToAttach?: string;
}
/**
 * 
 * @export
 * @interface DocumentAttachmentSignatureInfo
 */
export interface DocumentAttachmentSignatureInfo {
    /**
     * 
     * @type {string}
     * @memberof DocumentAttachmentSignatureInfo
     */
    signature?: string;
    /**
     * 
     * @type {string}
     * @memberof DocumentAttachmentSignatureInfo
     */
    certificateCommonName?: string;
    /**
     * 
     * @type {string}
     * @memberof DocumentAttachmentSignatureInfo
     */
    certificateSerialNumber?: string;
    /**
     * 
     * @type {number}
     * @memberof DocumentAttachmentSignatureInfo
     */
    signDate?: number;
}
/**
 * 
 * @export
 * @interface DocumentFile
 */
export interface DocumentFile {
    /**
     * 
     * @type {ServiceDocument}
     * @memberof DocumentFile
     */
    document?: ServiceDocument;
    /**
     * 
     * @type {Array<Form>}
     * @memberof DocumentFile
     */
    form?: Array<Form>;
    /**
     * 
     * @type {string}
     * @memberof DocumentFile
     */
    file_name?: string;
}
/**
 * Тип операции с документом
 * @export
 * @enum {string}
 */

export enum DocumentOperationEnum {
    Import = 'IMPORT',
    Export = 'EXPORT',
}

/**
 * FaceToFaceModel
 * @export
 * @interface FaceToFaceModel
 */
export interface FaceToFaceModel {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof FaceToFaceModel
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof FaceToFaceModel
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof FaceToFaceModel
     */
    schema?: string;
    /**
     * json
     * @type {string}
     * @memberof FaceToFaceModel
     */
    json?: string;
}
/**
 * 
 * @export
 * @interface FaceToFaceModelAllOf
 */
export interface FaceToFaceModelAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof FaceToFaceModelAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof FaceToFaceModelAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof FaceToFaceModelAllOf
     */
    schema?: string;
    /**
     * json
     * @type {string}
     * @memberof FaceToFaceModelAllOf
     */
    json?: string;
}
/**
 * Маппинг полей
 * @export
 * @interface FieldMapping
 */
export interface FieldMapping {
    /**
     * Ключ поля маппинга
     * @type {string}
     * @memberof FieldMapping
     */
    name: string;
    /**
     * Название поля маппинга
     * @type {string}
     * @memberof FieldMapping
     */
    label: string;
}
/**
 * 
 * @export
 * @interface FileUpload
 */
export interface FileUpload {
    /**
     * 
     * @type {Array<any>}
     * @memberof FileUpload
     */
    files?: Array<any>;
}
/**
 * Справочник финансовых величин
 * @export
 * @interface FinanceValueDict
 */
export interface FinanceValueDict {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof FinanceValueDict
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof FinanceValueDict
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof FinanceValueDict
     */
    schema?: string;
}
/**
 * Форма
 * @export
 * @interface Form
 */
export interface Form {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof Form
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof Form
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof Form
     */
    schema?: string;
    /**
     * Наименование
     * @type {string}
     * @memberof Form
     */
    name: string;
    /**
     * Версия
     * @type {string}
     * @memberof Form
     */
    version?: string;
    /**
     * ID услуги
     * @type {string}
     * @memberof Form
     */
    get_service_id?: string;
    /**
     * 
     * @type {Array<{ [key: string]: object; }>}
     * @memberof Form
     */
    attrList?: Array<{ [key: string]: object; }>;
}
/**
 * 
 * @export
 * @interface FormAllOf
 */
export interface FormAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof FormAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof FormAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof FormAllOf
     */
    schema?: string;
    /**
     * Наименование
     * @type {string}
     * @memberof FormAllOf
     */
    name?: string;
    /**
     * Версия
     * @type {string}
     * @memberof FormAllOf
     */
    version?: string;
    /**
     * ID услуги
     * @type {string}
     * @memberof FormAllOf
     */
    get_service_id?: string;
    /**
     * 
     * @type {Array<{ [key: string]: object; }>}
     * @memberof FormAllOf
     */
    attrList?: Array<{ [key: string]: object; }>;
}
/**
 * Цели
 * @export
 * @interface Goal
 */
export interface Goal {
    /**
     * Название
     * @type {string}
     * @memberof Goal
     */
    label: string;
    /**
     * Значение
     * @type {string}
     * @memberof Goal
     */
    value: string;
}
/**
 * 
 * @export
 * @interface ImportResult
 */
export interface ImportResult {
    /**
     * Идентификатор созданной услуги
     * @type {string}
     * @memberof ImportResult
     */
    serviceId?: string;
    /**
     * Количество разобранных процессов
     * @type {number}
     * @memberof ImportResult
     */
    processCount: number;
    /**
     * Количество разобранных форм
     * @type {number}
     * @memberof ImportResult
     */
    formCount: number;
    /**
     * Признак успешного разбора файла КЦР
     * @type {boolean}
     * @memberof ImportResult
     */
    parsed: boolean;
}
/**
 * Справочник доходов
 * @export
 * @interface IncomeDict
 */
export interface IncomeDict {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof IncomeDict
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof IncomeDict
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof IncomeDict
     */
    schema?: string;
}
/**
 * Межвед
 * @export
 * @interface Interagency
 */
export interface Interagency {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof Interagency
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof Interagency
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof Interagency
     */
    schema?: string;
    /**
     * Идентификатор определения СМЕВ запроса
     * @type {string}
     * @memberof Interagency
     */
    clazz: string;
    /**
     * Маппинг
     * @type {{ [key: string]: object; }}
     * @memberof Interagency
     */
    mapping: { [key: string]: object; };
    /**
     * Код СМЭВ
     * @type {string}
     * @memberof Interagency
     */
    smevId?: string;
    /**
     * Ссылка на шаблон документа
     * @type {string}
     * @memberof Interagency
     */
    templateUrl?: string;
    /**
     * Описание межведа
     * @type {string}
     * @memberof Interagency
     */
    description?: string;
    /**
     * Поставщик
     * @type {string}
     * @memberof Interagency
     */
    provider?: string;
    /**
     * Тип запроса
     * @type {string}
     * @memberof Interagency
     */
    get_class: string;
}
/**
 * Шаблон межведа
 * @export
 * @interface InteragencyTemplate
 */
export interface InteragencyTemplate {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof InteragencyTemplate
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof InteragencyTemplate
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof InteragencyTemplate
     */
    schema?: string;
    /**
     * Название шаблона
     * @type {string}
     * @memberof InteragencyTemplate
     */
    name: string;
    /**
     * Бпмн шаблона
     * @type {string}
     * @memberof InteragencyTemplate
     */
    templateBpmn: string;
}
/**
 * 
 * @export
 * @interface InteragencyTemplateAllOf
 */
export interface InteragencyTemplateAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof InteragencyTemplateAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof InteragencyTemplateAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof InteragencyTemplateAllOf
     */
    schema?: string;
    /**
     * Название шаблона
     * @type {string}
     * @memberof InteragencyTemplateAllOf
     */
    name?: string;
    /**
     * Бпмн шаблона
     * @type {string}
     * @memberof InteragencyTemplateAllOf
     */
    templateBpmn?: string;
}
/**
 * 
 * @export
 * @interface InteragencyWrapper
 */
export interface InteragencyWrapper {
    /**
     * 
     * @type {Interagency}
     * @memberof InteragencyWrapper
     */
    interagency?: Interagency;
    /**
     * 
     * @type {Form}
     * @memberof InteragencyWrapper
     */
    formRequest?: Form;
    /**
     * 
     * @type {Form}
     * @memberof InteragencyWrapper
     */
    formResponse?: Form;
}
/**
 * Справочник прожиточных минимумов
 * @export
 * @interface LivingWageDict
 */
export interface LivingWageDict {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof LivingWageDict
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof LivingWageDict
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof LivingWageDict
     */
    schema?: string;
}
/**
 * Настройка маппинга
 * @export
 * @interface MappingConfig
 */
export interface MappingConfig {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof MappingConfig
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof MappingConfig
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof MappingConfig
     */
    schema?: string;
}
/**
 * 
 * @export
 * @interface MediaType
 */
export interface MediaType {
    /**
     * 
     * @type {string}
     * @memberof MediaType
     */
    name?: string;
    /**
     * 
     * @type {string}
     * @memberof MediaType
     */
    subtype?: string;
    /**
     * 
     * @type {string}
     * @memberof MediaType
     */
    type?: string;
    /**
     * 
     * @type {string}
     * @memberof MediaType
     */
    extension?: string;
    /**
     * 
     * @type {OptionalValuesString}
     * @memberof MediaType
     */
    parameters?: OptionalValuesString;
    /**
     * 
     * @type {string}
     * @memberof MediaType
     */
    version?: string;
    /**
     * 
     * @type {MediaTypeCharset}
     * @memberof MediaType
     */
    charset?: MediaTypeCharset;
    /**
     * 
     * @type {number}
     * @memberof MediaType
     */
    qualityAsNumber?: number;
    /**
     * 
     * @type {boolean}
     * @memberof MediaType
     */
    textBased?: boolean;
    /**
     * 
     * @type {string}
     * @memberof MediaType
     */
    quality?: string;
}
/**
 * 
 * @export
 * @interface MediaTypeCharset
 */
export interface MediaTypeCharset {
    /**
     * 
     * @type {boolean}
     * @memberof MediaTypeCharset
     */
    registered?: boolean;
}
/**
 * Модель
 * @export
 * @interface Model
 */
export interface Model {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof Model
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof Model
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof Model
     */
    schema?: string;
}
/**
 * 
 * @export
 * @interface ModifyResponse
 */
export interface ModifyResponse {
    /**
     * true в случае успешной операции, false в противном
     * @type {boolean}
     * @memberof ModifyResponse
     */
    success: boolean;
    /**
     * Сообщение об ошибке или об успехе
     * @type {string}
     * @memberof ModifyResponse
     */
    message: string;
    /**
     * IDs Документов в рамках операции
     * @type {Array<string>}
     * @memberof ModifyResponse
     */
    objectIds?: Array<string>;
    /**
     * Дата модификации всех Документов в рамках операции
     * @type {number}
     * @memberof ModifyResponse
     */
    modified: number;
}
/**
 * 
 * @export
 * @interface ModifyResponseAllOf
 */
export interface ModifyResponseAllOf {
    /**
     * true в случае успешной операции, false в противном
     * @type {boolean}
     * @memberof ModifyResponseAllOf
     */
    success?: boolean;
    /**
     * Сообщение об ошибке или об успехе
     * @type {string}
     * @memberof ModifyResponseAllOf
     */
    message?: string;
    /**
     * IDs Документов в рамках операции
     * @type {Array<string>}
     * @memberof ModifyResponseAllOf
     */
    objectIds?: Array<string>;
    /**
     * Дата модификации всех Документов в рамках операции
     * @type {number}
     * @memberof ModifyResponseAllOf
     */
    modified?: number;
}
/**
 * 
 * @export
 * @interface NodeTO
 */
export interface NodeTO {
    /**
     * Indicates graph direction with which it was restored
     * @type {string}
     * @memberof NodeTO
     */
    direction?: NodeTODirectionEnum;
    /**
     * 
     * @type {Document}
     * @memberof NodeTO
     */
    value?: Document;
    /**
     * Node leafs
     * @type {Array<NodeTO>}
     * @memberof NodeTO
     */
    leafs?: Array<NodeTO> | null;
    /**
     * 
     * @type {boolean}
     * @memberof NodeTO
     */
    root?: boolean;
}

/**
    * @export
    * @enum {string}
    */
export enum NodeTODirectionEnum {
    Inbound = 'INBOUND',
    Outbound = 'OUTBOUND',
    Any = 'ANY'
}

/**
 * 
 * @export
 * @interface OptionalValuesString
 */
export interface OptionalValuesString {
    /**
     * 
     * @type {boolean}
     * @memberof OptionalValuesString
     */
    empty?: boolean;
}
/**
 * 
 * @export
 * @interface OrderResponseDto
 */
export interface OrderResponseDto {
    /**
     * 
     * @type {string}
     * @memberof OrderResponseDto
     */
    regionId?: string;
    /**
     * 
     * @type {string}
     * @memberof OrderResponseDto
     */
    departmentId?: string;
    /**
     * 
     * @type {string}
     * @memberof OrderResponseDto
     */
    state?: string;
    /**
     * 
     * @type {number}
     * @memberof OrderResponseDto
     */
    totalSum?: number;
    /**
     * 
     * @type {string}
     * @memberof OrderResponseDto
     */
    id?: string;
    /**
     * 
     * @type {string}
     * @memberof OrderResponseDto
     */
    schema?: string;
    /**
     * 
     * @type {number}
     * @memberof OrderResponseDto
     */
    regionCode?: number;
    /**
     * 
     * @type {string}
     * @memberof OrderResponseDto
     */
    departmentName?: string;
    /**
     * 
     * @type {string}
     * @memberof OrderResponseDto
     */
    created?: string;
    /**
     * 
     * @type {string}
     * @memberof OrderResponseDto
     */
    creationDate?: string;
    /**
     * 
     * @type {string}
     * @memberof OrderResponseDto
     */
    modified?: string;
    /**
     * 
     * @type {string}
     * @memberof OrderResponseDto
     */
    title?: string;
    /**
     * 
     * @type {string}
     * @memberof OrderResponseDto
     */
    regNumber?: string;
    /**
     * 
     * @type {string}
     * @memberof OrderResponseDto
     */
    cancelReason?: string;
    /**
     * 
     * @type {string}
     * @memberof OrderResponseDto
     */
    cancelDate?: string;
    /**
     * 
     * @type {number}
     * @memberof OrderResponseDto
     */
    number?: number;
    /**
     * 
     * @type {string}
     * @memberof OrderResponseDto
     */
    serviceId?: string;
    /**
     * 
     * @type {{ [key: string]: object; }}
     * @memberof OrderResponseDto
     */
    dataFile?: { [key: string]: object; };
    /**
     * 
     * @type {Array<RecipientDataDto>}
     * @memberof OrderResponseDto
     */
    RecipientData?: Array<RecipientDataDto>;
}
/**
 * Организация
 * @export
 * @interface Organization
 */
export interface Organization {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof Organization
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof Organization
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof Organization
     */
    schema?: string;
    /**
     * Имя Организации
     * @type {string}
     * @memberof Organization
     */
    name: string;
    /**
     * Краткое имя
     * @type {string}
     * @memberof Organization
     */
    shortname?: string;
    /**
     * Полное имя
     * @type {string}
     * @memberof Organization
     */
    fullname: string;
    /**
     * 
     * @type {string}
     * @memberof Organization
     */
    email?: string;
    /**
     * 
     * @type {string}
     * @memberof Organization
     */
    phone?: string;
    /**
     * НСИ идентификатор организации
     * @type {string}
     * @memberof Organization
     */
    nsiOrganizationId?: string;
    /**
     * НСИ идентификатор услуги (по нему происходит связка с нашей услугой в реестре при создании орги, линк \'services\')
     * @type {string}
     * @memberof Organization
     */
    nsiService?: string;
    /**
     * Массив идентификаторов услуг НСИ, сделано на замену nsiService
     * @type {Set<string>}
     * @memberof Organization
     */
    serviceCodes?: Set<string>;
    /**
     * КПП
     * @type {string}
     * @memberof Organization
     */
    kpp?: string;
    /**
     * ОГРН
     * @type {string}
     * @memberof Organization
     */
    ogrn: string;
    /**
     * OKATO (общероссийский классификатор административно-территориального деления объектов)
     * @type {string}
     * @memberof Organization
     */
    okato?: string;
    /**
     * ИНН
     * @type {string}
     * @memberof Organization
     */
    inn?: string;
    /**
     * ЕПГУ ID (departmentId)
     * @type {string}
     * @memberof Organization
     */
    epguId?: string;
    /**
     * 
     * @type {string}
     * @memberof Organization
     */
    address?: string;
    /**
     * ID региона к которому привязана организация (синхронизация из IDM)
     * @type {string}
     * @memberof Organization
     */
    regionId?: string;
    /**
     * DNS
     * @type {string}
     * @memberof Organization
     */
    dns?: string;
}
/**
 * 
 * @export
 * @interface OrganizationAllOf
 */
export interface OrganizationAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof OrganizationAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof OrganizationAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof OrganizationAllOf
     */
    schema?: string;
    /**
     * Имя Организации
     * @type {string}
     * @memberof OrganizationAllOf
     */
    name?: string;
    /**
     * Краткое имя
     * @type {string}
     * @memberof OrganizationAllOf
     */
    shortname?: string;
    /**
     * Полное имя
     * @type {string}
     * @memberof OrganizationAllOf
     */
    fullname?: string;
    /**
     * 
     * @type {string}
     * @memberof OrganizationAllOf
     */
    email?: string;
    /**
     * 
     * @type {string}
     * @memberof OrganizationAllOf
     */
    phone?: string;
    /**
     * НСИ идентификатор организации
     * @type {string}
     * @memberof OrganizationAllOf
     */
    nsiOrganizationId?: string;
    /**
     * НСИ идентификатор услуги (по нему происходит связка с нашей услугой в реестре при создании орги, линк \'services\')
     * @type {string}
     * @memberof OrganizationAllOf
     */
    nsiService?: string;
    /**
     * Массив идентификаторов услуг НСИ, сделано на замену nsiService
     * @type {Set<string>}
     * @memberof OrganizationAllOf
     */
    serviceCodes?: Set<string>;
    /**
     * КПП
     * @type {string}
     * @memberof OrganizationAllOf
     */
    kpp?: string;
    /**
     * ОГРН
     * @type {string}
     * @memberof OrganizationAllOf
     */
    ogrn?: string;
    /**
     * OKATO (общероссийский классификатор административно-территориального деления объектов)
     * @type {string}
     * @memberof OrganizationAllOf
     */
    okato?: string;
    /**
     * ИНН
     * @type {string}
     * @memberof OrganizationAllOf
     */
    inn?: string;
    /**
     * ЕПГУ ID (departmentId)
     * @type {string}
     * @memberof OrganizationAllOf
     */
    epguId?: string;
    /**
     * 
     * @type {string}
     * @memberof OrganizationAllOf
     */
    address?: string;
    /**
     * ID региона к которому привязана организация (синхронизация из IDM)
     * @type {string}
     * @memberof OrganizationAllOf
     */
    regionId?: string;
    /**
     * DNS
     * @type {string}
     * @memberof OrganizationAllOf
     */
    dns?: string;
}
/**
 * Организация для страниц статистики
 * @export
 * @interface OrganizationForStats
 */
export interface OrganizationForStats {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof OrganizationForStats
     */
    id: string;
    /**
     * Краткое имя
     * @type {string}
     * @memberof OrganizationForStats
     */
    shortname?: string;
    /**
     * Полное имя
     * @type {string}
     * @memberof OrganizationForStats
     */
    fullname?: string;
    /**
     * Список услуг
     * @type {Array<ServiceForStats>}
     * @memberof OrganizationForStats
     */
    services?: Array<ServiceForStats>;
}
/**
 * Страница
 * @export
 * @interface Page
 */
export interface Page {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof Page
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof Page
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof Page
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof Page
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof Page
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof Page
     */
    perPage: number;
    /**
     * 
     * @type {Array<Document>}
     * @memberof Page
     */
    records?: Array<Document>;
    /**
     * Схема документа
     * @type {string}
     * @memberof Page
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof Page
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof Page
     */
    foundRows?: number;
}
/**
 * Страница
 * @export
 * @interface PageInteragency
 */
export interface PageInteragency {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageInteragency
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageInteragency
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageInteragency
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageInteragency
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageInteragency
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageInteragency
     */
    perPage: number;
    /**
     * 
     * @type {Array<Document>}
     * @memberof PageInteragency
     */
    records?: Array<Document>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageInteragency
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageInteragency
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageInteragency
     */
    foundRows?: number;
}
/**
 * Страница
 * @export
 * @interface PageMapStringObject
 */
export interface PageMapStringObject {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageMapStringObject
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageMapStringObject
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageMapStringObject
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageMapStringObject
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageMapStringObject
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageMapStringObject
     */
    perPage: number;
    /**
     * 
     * @type {Array<Document>}
     * @memberof PageMapStringObject
     */
    records?: Array<Document>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageMapStringObject
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageMapStringObject
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageMapStringObject
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfApproveSteps
 */
export interface PageOfApproveSteps {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfApproveSteps
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfApproveSteps
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfApproveSteps
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfApproveSteps
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfApproveSteps
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfApproveSteps
     */
    perPage: number;
    /**
     * 
     * @type {Array<Dictionary>}
     * @memberof PageOfApproveSteps
     */
    records?: Array<Dictionary>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfApproveSteps
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfApproveSteps
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfApproveSteps
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfCamp
 */
export interface PageOfCamp {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfCamp
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfCamp
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfCamp
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfCamp
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfCamp
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfCamp
     */
    perPage: number;
    /**
     * 
     * @type {Array<Camp>}
     * @memberof PageOfCamp
     */
    records?: Array<Camp>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfCamp
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfCamp
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfCamp
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfDefaultInteragency
 */
export interface PageOfDefaultInteragency {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfDefaultInteragency
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfDefaultInteragency
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfDefaultInteragency
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfDefaultInteragency
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfDefaultInteragency
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfDefaultInteragency
     */
    perPage: number;
    /**
     * 
     * @type {Array<DefaultInteragency>}
     * @memberof PageOfDefaultInteragency
     */
    records?: Array<DefaultInteragency>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfDefaultInteragency
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfDefaultInteragency
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfDefaultInteragency
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfDepartment
 */
export interface PageOfDepartment {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfDepartment
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfDepartment
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfDepartment
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfDepartment
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfDepartment
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfDepartment
     */
    perPage: number;
    /**
     * 
     * @type {Array<Department>}
     * @memberof PageOfDepartment
     */
    records?: Array<Department>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfDepartment
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfDepartment
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfDepartment
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfDictionary
 */
export interface PageOfDictionary {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfDictionary
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfDictionary
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfDictionary
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfDictionary
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfDictionary
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfDictionary
     */
    perPage: number;
    /**
     * 
     * @type {Array<Dictionary>}
     * @memberof PageOfDictionary
     */
    records?: Array<Dictionary>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfDictionary
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfDictionary
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfDictionary
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfDigitalReglament
 */
export interface PageOfDigitalReglament {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfDigitalReglament
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfDigitalReglament
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfDigitalReglament
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfDigitalReglament
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfDigitalReglament
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfDigitalReglament
     */
    perPage: number;
    /**
     * 
     * @type {Array<DigitalReglament>}
     * @memberof PageOfDigitalReglament
     */
    records?: Array<DigitalReglament>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfDigitalReglament
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfDigitalReglament
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfDigitalReglament
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfDigitalReglamentProcess
 */
export interface PageOfDigitalReglamentProcess {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfDigitalReglamentProcess
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfDigitalReglamentProcess
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfDigitalReglamentProcess
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfDigitalReglamentProcess
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfDigitalReglamentProcess
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfDigitalReglamentProcess
     */
    perPage: number;
    /**
     * 
     * @type {Array<DigitalReglamentProcess>}
     * @memberof PageOfDigitalReglamentProcess
     */
    records?: Array<DigitalReglamentProcess>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfDigitalReglamentProcess
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfDigitalReglamentProcess
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfDigitalReglamentProcess
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfFaceToFaceModel
 */
export interface PageOfFaceToFaceModel {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfFaceToFaceModel
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfFaceToFaceModel
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfFaceToFaceModel
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfFaceToFaceModel
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfFaceToFaceModel
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfFaceToFaceModel
     */
    perPage: number;
    /**
     * 
     * @type {Array<FaceToFaceModel>}
     * @memberof PageOfFaceToFaceModel
     */
    records?: Array<FaceToFaceModel>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfFaceToFaceModel
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfFaceToFaceModel
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfFaceToFaceModel
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfFinanceValueDict
 */
export interface PageOfFinanceValueDict {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfFinanceValueDict
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfFinanceValueDict
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfFinanceValueDict
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfFinanceValueDict
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfFinanceValueDict
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfFinanceValueDict
     */
    perPage: number;
    /**
     * 
     * @type {Array<FinanceValueDict>}
     * @memberof PageOfFinanceValueDict
     */
    records?: Array<FinanceValueDict>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfFinanceValueDict
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfFinanceValueDict
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfFinanceValueDict
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfForm
 */
export interface PageOfForm {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfForm
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfForm
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfForm
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfForm
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfForm
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfForm
     */
    perPage: number;
    /**
     * 
     * @type {Array<Form>}
     * @memberof PageOfForm
     */
    records?: Array<Form>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfForm
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfForm
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfForm
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfIncomeDict
 */
export interface PageOfIncomeDict {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfIncomeDict
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfIncomeDict
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfIncomeDict
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfIncomeDict
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfIncomeDict
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfIncomeDict
     */
    perPage: number;
    /**
     * 
     * @type {Array<MappingConfig>}
     * @memberof PageOfIncomeDict
     */
    records?: Array<MappingConfig>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfIncomeDict
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfIncomeDict
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfIncomeDict
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfInteragency
 */
export interface PageOfInteragency {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfInteragency
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfInteragency
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfInteragency
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfInteragency
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfInteragency
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfInteragency
     */
    perPage: number;
    /**
     * 
     * @type {Array<Interagency>}
     * @memberof PageOfInteragency
     */
    records?: Array<Interagency>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfInteragency
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfInteragency
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfInteragency
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfLivingWageDict
 */
export interface PageOfLivingWageDict {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfLivingWageDict
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfLivingWageDict
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfLivingWageDict
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfLivingWageDict
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfLivingWageDict
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfLivingWageDict
     */
    perPage: number;
    /**
     * 
     * @type {Array<MappingConfig>}
     * @memberof PageOfLivingWageDict
     */
    records?: Array<MappingConfig>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfLivingWageDict
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfLivingWageDict
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfLivingWageDict
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfMappingConfig
 */
export interface PageOfMappingConfig {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfMappingConfig
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfMappingConfig
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfMappingConfig
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfMappingConfig
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfMappingConfig
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfMappingConfig
     */
    perPage: number;
    /**
     * 
     * @type {Array<MappingConfig>}
     * @memberof PageOfMappingConfig
     */
    records?: Array<MappingConfig>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfMappingConfig
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfMappingConfig
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfMappingConfig
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfModel
 */
export interface PageOfModel {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfModel
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfModel
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfModel
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfModel
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfModel
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfModel
     */
    perPage: number;
    /**
     * 
     * @type {Array<Model>}
     * @memberof PageOfModel
     */
    records?: Array<Model>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfModel
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfModel
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfModel
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfOrganization
 */
export interface PageOfOrganization {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfOrganization
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfOrganization
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfOrganization
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfOrganization
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfOrganization
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfOrganization
     */
    perPage: number;
    /**
     * 
     * @type {Array<Organization>}
     * @memberof PageOfOrganization
     */
    records?: Array<Organization>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfOrganization
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfOrganization
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfOrganization
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfPayment
 */
export interface PageOfPayment {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfPayment
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfPayment
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfPayment
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfPayment
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfPayment
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfPayment
     */
    perPage: number;
    /**
     * 
     * @type {Array<Payment>}
     * @memberof PageOfPayment
     */
    records?: Array<Payment>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfPayment
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfPayment
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfPayment
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfPersonOrderResponseDto
 */
export interface PageOfPersonOrderResponseDto {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfPersonOrderResponseDto
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfPersonOrderResponseDto
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfPersonOrderResponseDto
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfPersonOrderResponseDto
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfPersonOrderResponseDto
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfPersonOrderResponseDto
     */
    perPage: number;
    /**
     * 
     * @type {Array<PersonOrderResponseDto>}
     * @memberof PageOfPersonOrderResponseDto
     */
    records?: Array<PersonOrderResponseDto>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfPersonOrderResponseDto
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfPersonOrderResponseDto
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfPersonOrderResponseDto
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfProcess
 */
export interface PageOfProcess {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfProcess
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfProcess
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfProcess
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfProcess
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfProcess
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfProcess
     */
    perPage: number;
    /**
     * 
     * @type {Array<Process>}
     * @memberof PageOfProcess
     */
    records?: Array<Process>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfProcess
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfProcess
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfProcess
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfRegistry
 */
export interface PageOfRegistry {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfRegistry
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfRegistry
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfRegistry
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfRegistry
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfRegistry
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfRegistry
     */
    perPage: number;
    /**
     * 
     * @type {Array<Registry>}
     * @memberof PageOfRegistry
     */
    records?: Array<Registry>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfRegistry
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfRegistry
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfRegistry
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfRegistryMapping
 */
export interface PageOfRegistryMapping {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfRegistryMapping
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfRegistryMapping
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfRegistryMapping
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfRegistryMapping
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfRegistryMapping
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfRegistryMapping
     */
    perPage: number;
    /**
     * 
     * @type {Array<RegistryMapping>}
     * @memberof PageOfRegistryMapping
     */
    records?: Array<RegistryMapping>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfRegistryMapping
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfRegistryMapping
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfRegistryMapping
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfRegistryOrder
 */
export interface PageOfRegistryOrder {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfRegistryOrder
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfRegistryOrder
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfRegistryOrder
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfRegistryOrder
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfRegistryOrder
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfRegistryOrder
     */
    perPage: number;
    /**
     * 
     * @type {Array<RegistryOrder>}
     * @memberof PageOfRegistryOrder
     */
    records?: Array<RegistryOrder>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfRegistryOrder
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfRegistryOrder
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfRegistryOrder
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfRegistryPayment
 */
export interface PageOfRegistryPayment {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfRegistryPayment
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfRegistryPayment
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfRegistryPayment
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfRegistryPayment
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfRegistryPayment
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfRegistryPayment
     */
    perPage: number;
    /**
     * 
     * @type {Array<RegistryPayment>}
     * @memberof PageOfRegistryPayment
     */
    records?: Array<RegistryPayment>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfRegistryPayment
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfRegistryPayment
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfRegistryPayment
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfRevision
 */
export interface PageOfRevision {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfRevision
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfRevision
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfRevision
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfRevision
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfRevision
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfRevision
     */
    perPage: number;
    /**
     * 
     * @type {Array<Revision>}
     * @memberof PageOfRevision
     */
    records?: Array<Revision>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfRevision
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfRevision
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfRevision
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfService
 */
export interface PageOfService {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfService
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfService
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfService
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfService
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfService
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfService
     */
    perPage: number;
    /**
     * 
     * @type {Array<Service>}
     * @memberof PageOfService
     */
    records?: Array<Service>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfService
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfService
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfService
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfServiceDiff
 */
export interface PageOfServiceDiff {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfServiceDiff
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfServiceDiff
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfServiceDiff
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfServiceDiff
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfServiceDiff
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfServiceDiff
     */
    perPage: number;
    /**
     * 
     * @type {Array<ServiceDiff>}
     * @memberof PageOfServiceDiff
     */
    records?: Array<ServiceDiff>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfServiceDiff
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfServiceDiff
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfServiceDiff
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfServiceDocument
 */
export interface PageOfServiceDocument {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfServiceDocument
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfServiceDocument
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfServiceDocument
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfServiceDocument
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfServiceDocument
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfServiceDocument
     */
    perPage: number;
    /**
     * 
     * @type {Array<ServiceDocument>}
     * @memberof PageOfServiceDocument
     */
    records?: Array<ServiceDocument>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfServiceDocument
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfServiceDocument
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfServiceDocument
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfSettingsForService
 */
export interface PageOfSettingsForService {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfSettingsForService
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfSettingsForService
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfSettingsForService
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfSettingsForService
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfSettingsForService
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfSettingsForService
     */
    perPage: number;
    /**
     * 
     * @type {Array<SettingsForService>}
     * @memberof PageOfSettingsForService
     */
    records?: Array<SettingsForService>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfSettingsForService
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfSettingsForService
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfSettingsForService
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfSettingsForServiceCriteria
 */
export interface PageOfSettingsForServiceCriteria {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfSettingsForServiceCriteria
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfSettingsForServiceCriteria
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfSettingsForServiceCriteria
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfSettingsForServiceCriteria
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfSettingsForServiceCriteria
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfSettingsForServiceCriteria
     */
    perPage: number;
    /**
     * 
     * @type {Array<SettingsForServiceCriteria>}
     * @memberof PageOfSettingsForServiceCriteria
     */
    records?: Array<SettingsForServiceCriteria>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfSettingsForServiceCriteria
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfSettingsForServiceCriteria
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfSettingsForServiceCriteria
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfSettingsForServiceProcess
 */
export interface PageOfSettingsForServiceProcess {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfSettingsForServiceProcess
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfSettingsForServiceProcess
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfSettingsForServiceProcess
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfSettingsForServiceProcess
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfSettingsForServiceProcess
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfSettingsForServiceProcess
     */
    perPage: number;
    /**
     * 
     * @type {Array<SettingsForServiceProcess>}
     * @memberof PageOfSettingsForServiceProcess
     */
    records?: Array<SettingsForServiceProcess>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfSettingsForServiceProcess
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfSettingsForServiceProcess
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfSettingsForServiceProcess
     */
    foundRows?: number;
}
/**
 * 
 * @export
 * @interface PageOfTable
 */
export interface PageOfTable {
    /**
     * Обычный RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfTable
     */
    filter?: string;
    /**
     * Полнотекстовый RSQL фильтр с которым был выполнен запрос
     * @type {string}
     * @memberof PageOfTable
     */
    fulltext?: string;
    /**
     * Сортировка с которой был выполнен запрос
     * @type {string}
     * @memberof PageOfTable
     */
    sort?: string;
    /**
     * Общее количество документов для запроса (может отсутствовать, использовать метод Count в таком случае)
     * @type {number}
     * @memberof PageOfTable
     */
    totalRows?: number;
    /**
     * Запрошенный номер страницы (1 по умолчанию)
     * @type {number}
     * @memberof PageOfTable
     */
    page: number;
    /**
     * Записей на страницу (по умолчанию 10)
     * @type {number}
     * @memberof PageOfTable
     */
    perPage: number;
    /**
     * 
     * @type {Array<Table>}
     * @memberof PageOfTable
     */
    records?: Array<Table>;
    /**
     * Схема документа
     * @type {string}
     * @memberof PageOfTable
     */
    schema: string;
    /**
     * Параметры expand операции которые были для операции
     * @type {Array<string>}
     * @memberof PageOfTable
     */
    expand?: Array<string>;
    /**
     * Найденное количество записей в наборе
     * @type {number}
     * @memberof PageOfTable
     */
    foundRows?: number;
}
/**
 * Путь до измененного объекта
 * @export
 * @interface PathPart
 */
export interface PathPart {
    /**
     * 
     * @type {string}
     * @memberof PathPart
     */
    key?: string;
    /**
     * 
     * @type {string}
     * @memberof PathPart
     */
    schema?: string;
    /**
     * 
     * @type {string}
     * @memberof PathPart
     */
    revision?: string;
    /**
     * 
     * @type {string}
     * @memberof PathPart
     */
    objectName?: string;
    /**
     * 
     * @type {Array<string>}
     * @memberof PathPart
     */
    attachments?: Array<string>;
}
/**
 * Начисление
 * @export
 * @interface Payment
 */
export interface Payment {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof Payment
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof Payment
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof Payment
     */
    schema?: string;
    /**
     * Основание платежа
     * @type {string}
     * @memberof Payment
     */
    billFor: string;
    /**
     * Статус для создания начисления
     * @type {string}
     * @memberof Payment
     */
    applicationStatusForCharge: string;
    /**
     * Статус для регистрации начисления в ГИС ГМП
     * @type {string}
     * @memberof Payment
     */
    applicationStatusForRegister: string;
    /**
     * Статус для ожидании оплаты начисления
     * @type {string}
     * @memberof Payment
     */
    applicationStatusForWaitPayment: string;
    /**
     * Сумма платежа без учета скидки
     * @type {number}
     * @memberof Payment
     */
    totalAmount: number;
    /**
     * Регион или регионы, к которым относится начисление. String или List<String>
     * @type {object}
     * @memberof Payment
     */
    regionCode: object;
    /**
     * Подцель или подцели, к которым относится начисление. String или List<String>
     * @type {object}
     * @memberof Payment
     */
    goal: object;
    /**
     * Коэффициент умножения суммы для перевода в копейки. при отсутствии считается равным 100
     * @type {number}
     * @memberof Payment
     */
    totalAmountMultiplier?: number;
    /**
     * Тип скидки. Возможные варианты: discountSize, discountSizePercent, discountSizeMultiplier
     * @type {string}
     * @memberof Payment
     */
    discountType?: string;
    /**
     * Число дней, которые действительна скидка (не включая день регистрации начисления)
     * @type {number}
     * @memberof Payment
     */
    expiryPlusDays?: number;
    /**
     * Размер скидки. int для discountSize, int 1..100 для discountSizePercent, float 0.xx для discountSizeMultiplier
     * @type {object}
     * @memberof Payment
     */
    discountValue?: object;
    /**
     * ID услуги
     * @type {string}
     * @memberof Payment
     */
    serviceId?: string;
    /**
     * 
     * @type {string}
     * @memberof Payment
     */
    kbk?: string;
}
/**
 * 
 * @export
 * @interface PaymentAllOf
 */
export interface PaymentAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof PaymentAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof PaymentAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof PaymentAllOf
     */
    schema?: string;
    /**
     * Основание платежа
     * @type {string}
     * @memberof PaymentAllOf
     */
    billFor?: string;
    /**
     * Статус для создания начисления
     * @type {string}
     * @memberof PaymentAllOf
     */
    applicationStatusForCharge?: string;
    /**
     * Статус для регистрации начисления в ГИС ГМП
     * @type {string}
     * @memberof PaymentAllOf
     */
    applicationStatusForRegister?: string;
    /**
     * Статус для ожидании оплаты начисления
     * @type {string}
     * @memberof PaymentAllOf
     */
    applicationStatusForWaitPayment?: string;
    /**
     * Сумма платежа без учета скидки
     * @type {number}
     * @memberof PaymentAllOf
     */
    totalAmount?: number;
    /**
     * Регион или регионы, к которым относится начисление. String или List<String>
     * @type {object}
     * @memberof PaymentAllOf
     */
    regionCode?: object;
    /**
     * Подцель или подцели, к которым относится начисление. String или List<String>
     * @type {object}
     * @memberof PaymentAllOf
     */
    goal?: object;
    /**
     * Коэффициент умножения суммы для перевода в копейки. при отсутствии считается равным 100
     * @type {number}
     * @memberof PaymentAllOf
     */
    totalAmountMultiplier?: number;
    /**
     * Тип скидки. Возможные варианты: discountSize, discountSizePercent, discountSizeMultiplier
     * @type {string}
     * @memberof PaymentAllOf
     */
    discountType?: string;
    /**
     * Число дней, которые действительна скидка (не включая день регистрации начисления)
     * @type {number}
     * @memberof PaymentAllOf
     */
    expiryPlusDays?: number;
    /**
     * Размер скидки. int для discountSize, int 1..100 для discountSizePercent, float 0.xx для discountSizeMultiplier
     * @type {object}
     * @memberof PaymentAllOf
     */
    discountValue?: object;
    /**
     * ID услуги
     * @type {string}
     * @memberof PaymentAllOf
     */
    serviceId?: string;
    /**
     * 
     * @type {string}
     * @memberof PaymentAllOf
     */
    kbk?: string;
}
/**
 * 
 * @export
 * @interface PaymentFile
 */
export interface PaymentFile {
    /**
     * 
     * @type {Payment}
     * @memberof PaymentFile
     */
    payment?: Payment;
    /**
     * 
     * @type {string}
     * @memberof PaymentFile
     */
    file_name?: string;
}
/**
 * Период выплаты
 * @export
 * @enum {string}
 */

export enum PaymentPeriod {
    Month = 'MONTH',
    Quarter = 'QUARTER',
    Year = 'YEAR'
}

/**
 * Тип выплаты
 * @export
 * @enum {string}
 */

export enum PaymentType {
    OneTime = 'ONE_TIME',
    Regularly = 'REGULARLY'
}

/**
 * Список найденных объектов
 * @export
 * @interface PersonOrderResponseDto
 */
export interface PersonOrderResponseDto {
    /**
     * 
     * @type {string}
     * @memberof PersonOrderResponseDto
     */
    registryOrderID?: string;
    /**
     * 
     * @type {string}
     * @memberof PersonOrderResponseDto
     */
    registryOrderCode?: string;
    /**
     * 
     * @type {OrderResponseDto}
     * @memberof PersonOrderResponseDto
     */
    order?: OrderResponseDto;
}
/**
 * Объект бизнес процесса
 * @export
 * @interface Process
 */
export interface Process {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof Process
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof Process
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof Process
     */
    schema?: string;
    /**
     * Идентификатор бизнес процесса
     * @type {string}
     * @memberof Process
     */
    name?: string;
    /**
     * Тип схемы (Подготовка данных ППР, Маршрутизация и т.п.)
     * @type {string}
     * @memberof Process
     */
    type?: string;
    /**
     * Версия
     * @type {string}
     * @memberof Process
     */
    version?: string;
    /**
     * ID услуги
     * @type {string}
     * @memberof Process
     */
    get_service_id?: string;
}
/**
 * 
 * @export
 * @interface ProcessAllOf
 */
export interface ProcessAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof ProcessAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof ProcessAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof ProcessAllOf
     */
    schema?: string;
    /**
     * Идентификатор бизнес процесса
     * @type {string}
     * @memberof ProcessAllOf
     */
    name?: string;
    /**
     * Тип схемы (Подготовка данных ППР, Маршрутизация и т.п.)
     * @type {string}
     * @memberof ProcessAllOf
     */
    type?: string;
    /**
     * Версия
     * @type {string}
     * @memberof ProcessAllOf
     */
    version?: string;
    /**
     * ID услуги
     * @type {string}
     * @memberof ProcessAllOf
     */
    get_service_id?: string;
}
/**
 * 
 * @export
 * @interface ProcessFile
 */
export interface ProcessFile {
    /**
     * 
     * @type {Process}
     * @memberof ProcessFile
     */
    process?: Process;
    /**
     * 
     * @type {string}
     * @memberof ProcessFile
     */
    file_name?: string;
}
/**
 * Тип процесса
 * @export
 * @enum {string}
 */

export enum ProcessTypeEnum {
    SolutionMapping = 'SOLUTION_MAPPING',
    OrderMapping = 'ORDER_MAPPING',
    OrderFilesMapping = 'ORDER_FILES_MAPPING',
    PaymentMapping = 'PAYMENT_MAPPING',
    ProactiveCriteriaMapping = 'PROACTIVE_CRITERIA_MAPPING',
    MappingOrderXmlTemplate = 'MAPPING_ORDER_XML_TEMPLATE',
    CustomPersonUpdate = 'CUSTOM_PERSON_UPDATE',
    MappingDataApplication = 'MAPPING_DATA_APPLICATION'
}

/**
 * 
 * @export
 * @interface RecipientDataDto
 */
export interface RecipientDataDto {
    /**
     * 
     * @type {string}
     * @memberof RecipientDataDto
     */
    decisionId?: string;
    /**
     * 
     * @type {string}
     * @memberof RecipientDataDto
     */
    birthdate?: string;
    /**
     * 
     * @type {string}
     * @memberof RecipientDataDto
     */
    personId?: string;
    /**
     * 
     * @type {string}
     * @memberof RecipientDataDto
     */
    decisionNumber?: string;
    /**
     * 
     * @type {string}
     * @memberof RecipientDataDto
     */
    Account?: string;
    /**
     * 
     * @type {string}
     * @memberof RecipientDataDto
     */
    CorrAccount?: string;
    /**
     * 
     * @type {string}
     * @memberof RecipientDataDto
     */
    BIK?: string;
    /**
     * 
     * @type {string}
     * @memberof RecipientDataDto
     */
    BankName?: string;
    /**
     * 
     * @type {string}
     * @memberof RecipientDataDto
     */
    CardAccount?: string;
    /**
     * 
     * @type {string}
     * @memberof RecipientDataDto
     */
    sum?: string;
    /**
     * 
     * @type {string}
     * @memberof RecipientDataDto
     */
    Surname?: string;
    /**
     * 
     * @type {string}
     * @memberof RecipientDataDto
     */
    Name?: string;
    /**
     * 
     * @type {string}
     * @memberof RecipientDataDto
     */
    MiddleName?: string;
    /**
     * 
     * @type {string}
     * @memberof RecipientDataDto
     */
    snils?: string;
}
/**
 * Реестр
 * @export
 * @interface Registry
 */
export interface Registry {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof Registry
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof Registry
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof Registry
     */
    schema?: string;
    /**
     * Наименование
     * @type {string}
     * @memberof Registry
     */
    name: string;
    /**
     * Описание
     * @type {string}
     * @memberof Registry
     */
    description?: string;
    /**
     * Код
     * @type {string}
     * @memberof Registry
     */
    code: string;
    /**
     * Активный
     * @type {boolean}
     * @memberof Registry
     */
    enabled?: boolean;
    /**
     * Дата создания
     * @type {number}
     * @memberof Registry
     */
    created?: number;
    /**
     * Схема данных
     * @type {string}
     * @memberof Registry
     */
    dataSchema?: string;
    /**
     * Схема представления
     * @type {string}
     * @memberof Registry
     */
    viewSchema?: string;
    /**
     * Территориальный уровень
     * @type {string}
     * @memberof Registry
     */
    territorialLevel?: string;
    /**
     * Связанные реестры
     * @type {Array<string>}
     * @memberof Registry
     */
    linkedRegistries?: Array<string>;
    /**
     * Коды признаков выводимых документов
     * @type {Array<string>}
     * @memberof Registry
     */
    availableDocuments?: Array<string>;
    /**
     * Сохранять XML записи
     * @type {boolean}
     * @memberof Registry
     */
    enableXml?: boolean;
    /**
     * Шаблон имени XML файла
     * @type {string}
     * @memberof Registry
     */
    xmlNameTemplate?: string;
    /**
     * Список шаблонов преобразования XML
     * @type {Array<Template>}
     * @memberof Registry
     */
    xmlTemplate?: Array<Template>;
    /**
     * 
     * @type {boolean}
     * @memberof Registry
     */
    isSocialTreasure?: boolean;
    /**
     * Кастомная форма
     * @type {boolean}
     * @memberof Registry
     */
    isCustomForm?: boolean;
    /**
     * Реестр распоряжений
     * @type {string}
     * @memberof Registry
     */
    registryOrderCode?: string;
    /**
     * Реестр выплат
     * @type {string}
     * @memberof Registry
     */
    registryPaymentCode?: string;
    /**
     * Дата активации реестра
     * @type {number}
     * @memberof Registry
     */
    hasBeenEnabled?: number;
}
/**
 * 
 * @export
 * @interface RegistryAllOf
 */
export interface RegistryAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof RegistryAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof RegistryAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof RegistryAllOf
     */
    schema?: string;
    /**
     * Наименование
     * @type {string}
     * @memberof RegistryAllOf
     */
    name?: string;
    /**
     * Описание
     * @type {string}
     * @memberof RegistryAllOf
     */
    description?: string;
    /**
     * Код
     * @type {string}
     * @memberof RegistryAllOf
     */
    code?: string;
    /**
     * Активный
     * @type {boolean}
     * @memberof RegistryAllOf
     */
    enabled?: boolean;
    /**
     * Дата создания
     * @type {number}
     * @memberof RegistryAllOf
     */
    created?: number;
    /**
     * Схема данных
     * @type {string}
     * @memberof RegistryAllOf
     */
    dataSchema?: string;
    /**
     * Схема представления
     * @type {string}
     * @memberof RegistryAllOf
     */
    viewSchema?: string;
    /**
     * Территориальный уровень
     * @type {string}
     * @memberof RegistryAllOf
     */
    territorialLevel?: string;
    /**
     * Связанные реестры
     * @type {Array<string>}
     * @memberof RegistryAllOf
     */
    linkedRegistries?: Array<string>;
    /**
     * Коды признаков выводимых документов
     * @type {Array<string>}
     * @memberof RegistryAllOf
     */
    availableDocuments?: Array<string>;
    /**
     * Сохранять XML записи
     * @type {boolean}
     * @memberof RegistryAllOf
     */
    enableXml?: boolean;
    /**
     * Шаблон имени XML файла
     * @type {string}
     * @memberof RegistryAllOf
     */
    xmlNameTemplate?: string;
    /**
     * Список шаблонов преобразования XML
     * @type {Array<Template>}
     * @memberof RegistryAllOf
     */
    xmlTemplate?: Array<Template>;
    /**
     * 
     * @type {boolean}
     * @memberof RegistryAllOf
     */
    isSocialTreasure?: boolean;
    /**
     * Кастомная форма
     * @type {boolean}
     * @memberof RegistryAllOf
     */
    isCustomForm?: boolean;
    /**
     * Реестр распоряжений
     * @type {string}
     * @memberof RegistryAllOf
     */
    registryOrderCode?: string;
    /**
     * Реестр выплат
     * @type {string}
     * @memberof RegistryAllOf
     */
    registryPaymentCode?: string;
    /**
     * Дата активации реестра
     * @type {number}
     * @memberof RegistryAllOf
     */
    hasBeenEnabled?: number;
}
/**
 * Настройка маппинга реестров
 * @export
 * @interface RegistryMapping
 */
export interface RegistryMapping {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof RegistryMapping
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof RegistryMapping
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof RegistryMapping
     */
    schema?: string;
    /**
     * Наименование
     * @type {string}
     * @memberof RegistryMapping
     */
    name: string;
    /**
     * Идентификатор услуги
     * @type {string}
     * @memberof RegistryMapping
     */
    serviceId: string;
    /**
     * Код реестра
     * @type {string}
     * @memberof RegistryMapping
     */
    registryCode: string;
    /**
     * Список кодов документов (результатов)
     * @type {Array<string>}
     * @memberof RegistryMapping
     */
    resultCodes: Array<string>;
    /**
     * Код итератора
     * @type {string}
     * @memberof RegistryMapping
     */
    numberIterator?: string;
    /**
     * Ключевое поле
     * @type {string}
     * @memberof RegistryMapping
     */
    keyField?: string;
}
/**
 * 
 * @export
 * @interface RegistryMappingAllOf
 */
export interface RegistryMappingAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof RegistryMappingAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof RegistryMappingAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof RegistryMappingAllOf
     */
    schema?: string;
    /**
     * Наименование
     * @type {string}
     * @memberof RegistryMappingAllOf
     */
    name?: string;
    /**
     * Идентификатор услуги
     * @type {string}
     * @memberof RegistryMappingAllOf
     */
    serviceId?: string;
    /**
     * Код реестра
     * @type {string}
     * @memberof RegistryMappingAllOf
     */
    registryCode?: string;
    /**
     * Список кодов документов (результатов)
     * @type {Array<string>}
     * @memberof RegistryMappingAllOf
     */
    resultCodes?: Array<string>;
    /**
     * Код итератора
     * @type {string}
     * @memberof RegistryMappingAllOf
     */
    numberIterator?: string;
    /**
     * Ключевое поле
     * @type {string}
     * @memberof RegistryMappingAllOf
     */
    keyField?: string;
}
/**
 * 
 * @export
 * @interface RegistryMappingRelationDTO
 */
export interface RegistryMappingRelationDTO {
    /**
     * 
     * @type {Registry}
     * @memberof RegistryMappingRelationDTO
     */
    registry?: Registry;
    /**
     * 
     * @type {RegistryMapping}
     * @memberof RegistryMappingRelationDTO
     */
    registryMapping?: RegistryMapping;
}
/**
 * Реестр распоряжений
 * @export
 * @interface RegistryOrder
 */
export interface RegistryOrder {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof RegistryOrder
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof RegistryOrder
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof RegistryOrder
     */
    schema?: string;
    /**
     * Наименование
     * @type {string}
     * @memberof RegistryOrder
     */
    name: string;
    /**
     * Описание
     * @type {string}
     * @memberof RegistryOrder
     */
    description?: string;
    /**
     * Код
     * @type {string}
     * @memberof RegistryOrder
     */
    code: string;
    /**
     * Активный
     * @type {boolean}
     * @memberof RegistryOrder
     */
    enabled?: boolean;
    /**
     * Дата создания
     * @type {number}
     * @memberof RegistryOrder
     */
    created?: number;
    /**
     * Связанные реестры
     * @type {Array<string>}
     * @memberof RegistryOrder
     */
    linkedRegistries?: Array<string>;
}
/**
 * 
 * @export
 * @interface RegistryOrderAllOf
 */
export interface RegistryOrderAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof RegistryOrderAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof RegistryOrderAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof RegistryOrderAllOf
     */
    schema?: string;
    /**
     * Наименование
     * @type {string}
     * @memberof RegistryOrderAllOf
     */
    name?: string;
    /**
     * Описание
     * @type {string}
     * @memberof RegistryOrderAllOf
     */
    description?: string;
    /**
     * Код
     * @type {string}
     * @memberof RegistryOrderAllOf
     */
    code?: string;
    /**
     * Активный
     * @type {boolean}
     * @memberof RegistryOrderAllOf
     */
    enabled?: boolean;
    /**
     * Дата создания
     * @type {number}
     * @memberof RegistryOrderAllOf
     */
    created?: number;
    /**
     * Связанные реестры
     * @type {Array<string>}
     * @memberof RegistryOrderAllOf
     */
    linkedRegistries?: Array<string>;
}
/**
 * Реестр выплат
 * @export
 * @interface RegistryPayment
 */
export interface RegistryPayment {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof RegistryPayment
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof RegistryPayment
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof RegistryPayment
     */
    schema?: string;
    /**
     * Наименование
     * @type {string}
     * @memberof RegistryPayment
     */
    name: string;
    /**
     * Описание
     * @type {string}
     * @memberof RegistryPayment
     */
    description?: string;
    /**
     * Код
     * @type {string}
     * @memberof RegistryPayment
     */
    code: string;
    /**
     * Активный
     * @type {boolean}
     * @memberof RegistryPayment
     */
    enabled?: boolean;
    /**
     * Дата создания
     * @type {number}
     * @memberof RegistryPayment
     */
    created?: number;
    /**
     * Связанные реестры
     * @type {Array<string>}
     * @memberof RegistryPayment
     */
    linkedRegistries?: Array<string>;
}
/**
 * Таблица реестра(набор отображаемых колонок)
 * @export
 * @interface RegistryTable
 */
export interface RegistryTable {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof RegistryTable
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof RegistryTable
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof RegistryTable
     */
    schema?: string;
    /**
     * Наименование
     * @type {string}
     * @memberof RegistryTable
     */
    name?: string;
    /**
     * Маппинг полей TODO исправить в OPENAPI
     * @type {Array<FieldMapping>}
     * @memberof RegistryTable
     */
    attrList?: Array<FieldMapping>;
}
/**
 * 
 * @export
 * @interface RegistryTableAllOf
 */
export interface RegistryTableAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof RegistryTableAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof RegistryTableAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof RegistryTableAllOf
     */
    schema?: string;
    /**
     * Наименование
     * @type {string}
     * @memberof RegistryTableAllOf
     */
    name?: string;
    /**
     * Маппинг полей TODO исправить в OPENAPI
     * @type {Array<FieldMapping>}
     * @memberof RegistryTableAllOf
     */
    attrList?: Array<FieldMapping>;
}
/**
 * 
 * @export
 * @interface RejectTO
 */
export interface RejectTO {
    /**
     * 
     * @type {string}
     * @memberof RejectTO
     */
    code?: string;
    /**
     * 
     * @type {string}
     * @memberof RejectTO
     */
    name?: string;
    /**
     * 
     * @type {string}
     * @memberof RejectTO
     */
    type?: string;
}
/**
 * 
 * @export
 * @interface Response
 */
export interface Response {
    /**
     * true в случае успешной операции, false в противном
     * @type {boolean}
     * @memberof Response
     */
    success: boolean;
    /**
     * Сообщение об ошибке или об успехе
     * @type {string}
     * @memberof Response
     */
    message: string;
}
/**
 * Информация о версии к которой был сделан откат
 * @export
 * @interface RestoreInfo
 */
export interface RestoreInfo {
    /**
     * Номер ревизии (поле updated) к которой был сделан откат
     * @type {number}
     * @memberof RestoreInfo
     */
    restoreRevisionNumber?: number;
    /**
     * Номер версии услуги к которой был сделан откат
     * @type {string}
     * @memberof RestoreInfo
     */
    restoreServiceVersion?: string;
    /**
     * Номер подверсии услуги к которой был сделан откат
     * @type {number}
     * @memberof RestoreInfo
     */
    restoreServiceSubVersion?: number;
}
/**
 * Список найденных объектов
 * @export
 * @interface Revision
 */
export interface Revision {
    /**
     * Время создания ревизии (UnixTime in millis)
     * @type {number}
     * @memberof Revision
     */
    created?: number;
    /**
     * Уникальный номер ревизии
     * @type {string}
     * @memberof Revision
     */
    number?: string;
    /**
     * Имя операции которое породило данную ревизию
     * @type {string}
     * @memberof Revision
     */
    operation?: string;
    /**
     * 
     * @type {{ [key: string]: any; }}
     * @memberof Revision
     */
    extras?: { [key: string]: any; };
}
/**
 * Услуга
 * @export
 * @interface Service
 */
export interface Service {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof Service
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof Service
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof Service
     */
    schema?: string;
    /**
     * Идентификатор услуги РГУ
     * @type {string}
     * @memberof Service
     */
    rgyId: string;
    /**
     * Тип услуги
     * @type {{ [key: string]: object; }}
     * @memberof Service
     */
    type: { [key: string]: object; };
    /**
     * Присваивается в случае создания услуги на основе шаблона/типовой
     * @type {{ [key: string]: object; }}
     * @memberof Service
     */
    parentServiceId: { [key: string]: object; };
    /**
     * Дочерние услуги добавляются автоматически системой по мере их создания в КЦР
     * @type {Array<{ [key: string]: object; }>}
     * @memberof Service
     */
    childServiceId: Array<{ [key: string]: object; }>;
    /**
     * Уровень предоставления государственной (муниципальной) услуги (далее — услуга)
     * @type {string}
     * @memberof Service
     */
    servicePresentation: string;
    /**
     * Полное наименование услуги
     * @type {string}
     * @memberof Service
     */
    fullName: string;
    /**
     * Краткое наименование услуги
     * @type {string}
     * @memberof Service
     */
    shortName: string;
    /**
     * Системное наименование услуги
     * @type {string}
     * @memberof Service
     */
    name: string;
    /**
     * Код цели
     * @type {string}
     * @memberof Service
     */
    targetId: string;
    /**
     * Указывается дата, когда регламент начинает свое действие и может применяться
     * @type {string}
     * @memberof Service
     */
    activeSince: string;
    /**
     * Орган исполнительной власти, Государственная корпорация, фонд, разработавший административный регламент
     * @type {{ [key: string]: object; }}
     * @memberof Service
     */
    authority: { [key: string]: object; };
    /**
     * Орган исполнительной власти, Государственная корпорация, фонд или подведомственная им организация, предоставляющих услугу
     * @type {{ [key: string]: object; }}
     * @memberof Service
     */
    executor: { [key: string]: object; };
    /**
     * Иные органы исполнительной власти, Государственные корпорации, фонды и подведомственные им организации, участвующие в предоставлении услуги
     * @type {{ [key: string]: object; }}
     * @memberof Service
     */
    multiAuthorities: { [key: string]: object; };
    /**
     * Поле Жизненная ситуация из каждой подуслуги
     * @type {Array<{ [key: string]: object; }>}
     * @memberof Service
     */
    healthStatus: Array<{ [key: string]: object; }>;
    /**
     * Сфера
     * @type {Array<{ [key: string]: object; }>}
     * @memberof Service
     */
    scope: Array<{ [key: string]: object; }>;
    /**
     * Тематика
     * @type {Array<{ [key: string]: object; }>}
     * @memberof Service
     */
    theme: Array<{ [key: string]: object; }>;
    /**
     * Доступна возможность настроить фильтрацию по уровню НПА. Перечень НПА отсортирован по уровню НПА, от высшего к низшему, а в пределах одного уровня НПА отсортированы по дате утверждения, от старых к новым
     * @type {Array<{ [key: string]: object; }>}
     * @memberof Service
     */
    legalActs: Array<{ [key: string]: object; }>;
    /**
     * Ключевые слова
     * @type {Array<{ [key: string]: object; }>}
     * @memberof Service
     */
    keyWords: Array<{ [key: string]: object; }>;
    /**
     * Тип переданных полномочий
     * @type {{ [key: string]: object; }}
     * @memberof Service
     */
    credentialTransferredType: { [key: string]: object; };
    /**
     * Раздел каталога услуг/функций (ЕПГУ)
     * @type {{ [key: string]: object; }}
     * @memberof Service
     */
    epgyCatalog: { [key: string]: object; };
    /**
     * Адрес (РПГУ)
     * @type {string}
     * @memberof Service
     */
    addressRpgy: string;
    /**
     * Адрес (ЕПГУ)
     * @type {string}
     * @memberof Service
     */
    addressEpgy: string;
    /**
     * Адрес в сети (Сайт органа власти)
     * @type {string}
     * @memberof Service
     */
    authorityUrl: string;
    /**
     * Наименование вида акта
     * @type {{ [key: string]: object; }}
     * @memberof Service
     */
    act: { [key: string]: object; };
    /**
     * Дата утверждения
     * @type {string}
     * @memberof Service
     */
    actActiveSince: string;
    /**
     * Номер документа
     * @type {string}
     * @memberof Service
     */
    actNumber: string;
    /**
     * Дата государственной регистрации
     * @type {string}
     * @memberof Service
     */
    authorityActiveSince: string;
    /**
     * Государственный регистрационный номер
     * @type {string}
     * @memberof Service
     */
    authorityActiveNumber: string;
    /**
     * Адрес электронной почты
     * @type {string}
     * @memberof Service
     */
    email: string;
    /**
     * Центр телефонного обслуживания
     * @type {string}
     * @memberof Service
     */
    callCenter: string;
    /**
     * Адрес места информирования
     * @type {string}
     * @memberof Service
     */
    informAddress: string;
    /**
     * Офисы информирования
     * @type {Array<{ [key: string]: object; }>}
     * @memberof Service
     */
    informOffices: Array<{ [key: string]: object; }>;
    /**
     * Импортирована из КЦР
     * @type {boolean}
     * @memberof Service
     */
    kcrImport: boolean;
    /**
     * Импортирована из ЕПГУ
     * @type {boolean}
     * @memberof Service
     */
    epguImport: boolean;
    /**
     * Подпись
     * @type {string}
     * @memberof Service
     */
    signature: string;
    /**
     * Статус
     * @type {string}
     * @memberof Service
     */
    state: string;
    /**
     * Версия модификации сервиса
     * @type {number}
     * @memberof Service
     */
    modificationVersion?: number;
    /**
     * Версия сервиса
     * @type {string}
     * @memberof Service
     */
    version?: string;
    /**
     * Очный приём
     * @type {boolean}
     * @memberof Service
     */
    includeReception?: boolean;
    /**
     * Дочерние услуги добавляются автома
     * @type {Array<object>}
     * @memberof Service
     */
    goalsList?: Array<object>;
    /**
     * Список административных процедур (регламентная настройка)
     * @type {Array<Stage>}
     * @memberof Service
     */
    stages?: Array<Stage>;
    /**
     * Тип услуги
     * @type {string}
     * @memberof Service
     */
    petitionType?: string;
    /**
     * Корневой элемент запроса
     * @type {string}
     * @memberof Service
     */
    epguFromTag?: string;
    /**
     * Корневой элемент ответа
     * @type {string}
     * @memberof Service
     */
    epguToTag?: string;
    /**
     * Список субъектов
     * @type {Array<object>}
     * @memberof Service
     */
    subjectsList?: Array<object>;
    /**
     * Ручные проверки обязательны
     * @type {boolean}
     * @memberof Service
     */
    checkListIsMandatory?: boolean;
    /**
     * ID пользователей, имеющие права на редактирование услуги
     * @type {Array<string>}
     * @memberof Service
     */
    updatePermission?: Array<string>;
    /**
     * ID организации, которая обрабатывает эту услугу
     * @type {string}
     * @memberof Service
     */
    domainId: string;
    /**
     * 
     * @type {boolean}
     * @memberof Service
     */
    credentialTransferred?: boolean;
    /**
     * 
     * @type {Array<string>}
     * @memberof Service
     */
    mapping?: Array<string>;
    /**
     * 
     * @type {boolean}
     * @memberof Service
     */
    rgyApplied?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof Service
     */
    multiAuthority?: boolean;
}
/**
 * Сборная информация о сервисах
 * @export
 * @interface ServiceAggregation
 */
export interface ServiceAggregation {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof ServiceAggregation
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof ServiceAggregation
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof ServiceAggregation
     */
    schema?: string;
    /**
     * Краткое имя услуги
     * @type {string}
     * @memberof ServiceAggregation
     */
    shortName: string;
    /**
     * 
     * @type {string}
     * @memberof ServiceAggregation
     */
    targetId?: string;
    /**
     * 
     * @type {Array<ServiceShortInfo>}
     * @memberof ServiceAggregation
     */
    idServ?: Array<ServiceShortInfo>;
    /**
     * petitionType услуги без версии
     * @type {string}
     * @memberof ServiceAggregation
     */
    petitionType?: string;
    /**
     * Количество версий услуг
     * @type {number}
     * @memberof ServiceAggregation
     */
    count?: number;
    /**
     * 
     * @type {boolean}
     * @memberof ServiceAggregation
     */
    payment?: boolean;
}
/**
 * 
 * @export
 * @interface ServiceAggregationAllOf
 */
export interface ServiceAggregationAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof ServiceAggregationAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof ServiceAggregationAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof ServiceAggregationAllOf
     */
    schema?: string;
    /**
     * Краткое имя услуги
     * @type {string}
     * @memberof ServiceAggregationAllOf
     */
    shortName?: string;
    /**
     * 
     * @type {string}
     * @memberof ServiceAggregationAllOf
     */
    targetId?: string;
    /**
     * 
     * @type {Array<ServiceShortInfo>}
     * @memberof ServiceAggregationAllOf
     */
    idServ?: Array<ServiceShortInfo>;
    /**
     * petitionType услуги без версии
     * @type {string}
     * @memberof ServiceAggregationAllOf
     */
    petitionType?: string;
    /**
     * Количество версий услуг
     * @type {number}
     * @memberof ServiceAggregationAllOf
     */
    count?: number;
    /**
     * 
     * @type {boolean}
     * @memberof ServiceAggregationAllOf
     */
    payment?: boolean;
}
/**
 * 
 * @export
 * @interface ServiceAllOf
 */
export interface ServiceAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof ServiceAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof ServiceAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof ServiceAllOf
     */
    schema?: string;
    /**
     * Идентификатор услуги РГУ
     * @type {string}
     * @memberof ServiceAllOf
     */
    rgyId?: string;
    /**
     * Тип услуги
     * @type {{ [key: string]: object; }}
     * @memberof ServiceAllOf
     */
    type?: { [key: string]: object; };
    /**
     * Присваивается в случае создания услуги на основе шаблона/типовой
     * @type {{ [key: string]: object; }}
     * @memberof ServiceAllOf
     */
    parentServiceId?: { [key: string]: object; };
    /**
     * Дочерние услуги добавляются автоматически системой по мере их создания в КЦР
     * @type {Array<{ [key: string]: object; }>}
     * @memberof ServiceAllOf
     */
    childServiceId?: Array<{ [key: string]: object; }>;
    /**
     * Уровень предоставления государственной (муниципальной) услуги (далее — услуга)
     * @type {string}
     * @memberof ServiceAllOf
     */
    servicePresentation?: string;
    /**
     * Полное наименование услуги
     * @type {string}
     * @memberof ServiceAllOf
     */
    fullName?: string;
    /**
     * Краткое наименование услуги
     * @type {string}
     * @memberof ServiceAllOf
     */
    shortName?: string;
    /**
     * Системное наименование услуги
     * @type {string}
     * @memberof ServiceAllOf
     */
    name?: string;
    /**
     * Код цели
     * @type {string}
     * @memberof ServiceAllOf
     */
    targetId?: string;
    /**
     * Указывается дата, когда регламент начинает свое действие и может применяться
     * @type {string}
     * @memberof ServiceAllOf
     */
    activeSince?: string;
    /**
     * Орган исполнительной власти, Государственная корпорация, фонд, разработавший административный регламент
     * @type {{ [key: string]: object; }}
     * @memberof ServiceAllOf
     */
    authority?: { [key: string]: object; };
    /**
     * Орган исполнительной власти, Государственная корпорация, фонд или подведомственная им организация, предоставляющих услугу
     * @type {{ [key: string]: object; }}
     * @memberof ServiceAllOf
     */
    executor?: { [key: string]: object; };
    /**
     * Иные органы исполнительной власти, Государственные корпорации, фонды и подведомственные им организации, участвующие в предоставлении услуги
     * @type {{ [key: string]: object; }}
     * @memberof ServiceAllOf
     */
    multiAuthorities?: { [key: string]: object; };
    /**
     * Поле Жизненная ситуация из каждой подуслуги
     * @type {Array<{ [key: string]: object; }>}
     * @memberof ServiceAllOf
     */
    healthStatus?: Array<{ [key: string]: object; }>;
    /**
     * Сфера
     * @type {Array<{ [key: string]: object; }>}
     * @memberof ServiceAllOf
     */
    scope?: Array<{ [key: string]: object; }>;
    /**
     * Тематика
     * @type {Array<{ [key: string]: object; }>}
     * @memberof ServiceAllOf
     */
    theme?: Array<{ [key: string]: object; }>;
    /**
     * Доступна возможность настроить фильтрацию по уровню НПА. Перечень НПА отсортирован по уровню НПА, от высшего к низшему, а в пределах одного уровня НПА отсортированы по дате утверждения, от старых к новым
     * @type {Array<{ [key: string]: object; }>}
     * @memberof ServiceAllOf
     */
    legalActs?: Array<{ [key: string]: object; }>;
    /**
     * Ключевые слова
     * @type {Array<{ [key: string]: object; }>}
     * @memberof ServiceAllOf
     */
    keyWords?: Array<{ [key: string]: object; }>;
    /**
     * Тип переданных полномочий
     * @type {{ [key: string]: object; }}
     * @memberof ServiceAllOf
     */
    credentialTransferredType?: { [key: string]: object; };
    /**
     * Раздел каталога услуг/функций (ЕПГУ)
     * @type {{ [key: string]: object; }}
     * @memberof ServiceAllOf
     */
    epgyCatalog?: { [key: string]: object; };
    /**
     * Адрес (РПГУ)
     * @type {string}
     * @memberof ServiceAllOf
     */
    addressRpgy?: string;
    /**
     * Адрес (ЕПГУ)
     * @type {string}
     * @memberof ServiceAllOf
     */
    addressEpgy?: string;
    /**
     * Адрес в сети (Сайт органа власти)
     * @type {string}
     * @memberof ServiceAllOf
     */
    authorityUrl?: string;
    /**
     * Наименование вида акта
     * @type {{ [key: string]: object; }}
     * @memberof ServiceAllOf
     */
    act?: { [key: string]: object; };
    /**
     * Дата утверждения
     * @type {string}
     * @memberof ServiceAllOf
     */
    actActiveSince?: string;
    /**
     * Номер документа
     * @type {string}
     * @memberof ServiceAllOf
     */
    actNumber?: string;
    /**
     * Дата государственной регистрации
     * @type {string}
     * @memberof ServiceAllOf
     */
    authorityActiveSince?: string;
    /**
     * Государственный регистрационный номер
     * @type {string}
     * @memberof ServiceAllOf
     */
    authorityActiveNumber?: string;
    /**
     * Адрес электронной почты
     * @type {string}
     * @memberof ServiceAllOf
     */
    email?: string;
    /**
     * Центр телефонного обслуживания
     * @type {string}
     * @memberof ServiceAllOf
     */
    callCenter?: string;
    /**
     * Адрес места информирования
     * @type {string}
     * @memberof ServiceAllOf
     */
    informAddress?: string;
    /**
     * Офисы информирования
     * @type {Array<{ [key: string]: object; }>}
     * @memberof ServiceAllOf
     */
    informOffices?: Array<{ [key: string]: object; }>;
    /**
     * Импортирована из КЦР
     * @type {boolean}
     * @memberof ServiceAllOf
     */
    kcrImport?: boolean;
    /**
     * Импортирована из ЕПГУ
     * @type {boolean}
     * @memberof ServiceAllOf
     */
    epguImport?: boolean;
    /**
     * Подпись
     * @type {string}
     * @memberof ServiceAllOf
     */
    signature?: string;
    /**
     * Статус
     * @type {string}
     * @memberof ServiceAllOf
     */
    state?: string;
    /**
     * Версия модификации сервиса
     * @type {number}
     * @memberof ServiceAllOf
     */
    modificationVersion?: number;
    /**
     * Версия сервиса
     * @type {string}
     * @memberof ServiceAllOf
     */
    version?: string;
    /**
     * Очный приём
     * @type {boolean}
     * @memberof ServiceAllOf
     */
    includeReception?: boolean;
    /**
     * Дочерние услуги добавляются автома
     * @type {Array<object>}
     * @memberof ServiceAllOf
     */
    goalsList?: Array<object>;
    /**
     * Список административных процедур (регламентная настройка)
     * @type {Array<Stage>}
     * @memberof ServiceAllOf
     */
    stages?: Array<Stage>;
    /**
     * Тип услуги
     * @type {string}
     * @memberof ServiceAllOf
     */
    petitionType?: string;
    /**
     * Корневой элемент запроса
     * @type {string}
     * @memberof ServiceAllOf
     */
    epguFromTag?: string;
    /**
     * Корневой элемент ответа
     * @type {string}
     * @memberof ServiceAllOf
     */
    epguToTag?: string;
    /**
     * Список субъектов
     * @type {Array<object>}
     * @memberof ServiceAllOf
     */
    subjectsList?: Array<object>;
    /**
     * Ручные проверки обязательны
     * @type {boolean}
     * @memberof ServiceAllOf
     */
    checkListIsMandatory?: boolean;
    /**
     * ID пользователей, имеющие права на редактирование услуги
     * @type {Array<string>}
     * @memberof ServiceAllOf
     */
    updatePermission?: Array<string>;
    /**
     * ID организации, которая обрабатывает эту услугу
     * @type {string}
     * @memberof ServiceAllOf
     */
    domainId?: string;
    /**
     * 
     * @type {boolean}
     * @memberof ServiceAllOf
     */
    credentialTransferred?: boolean;
    /**
     * 
     * @type {Array<string>}
     * @memberof ServiceAllOf
     */
    mapping?: Array<string>;
    /**
     * 
     * @type {boolean}
     * @memberof ServiceAllOf
     */
    rgyApplied?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ServiceAllOf
     */
    multiAuthority?: boolean;
}
/**
 * Объект изменений услуги
 * @export
 * @interface ServiceDiff
 */
export interface ServiceDiff {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof ServiceDiff
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof ServiceDiff
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof ServiceDiff
     */
    schema?: string;
    /**
     * Идентификатор услуги
     * @type {string}
     * @memberof ServiceDiff
     */
    serviceId?: string;
    /**
     * Версия услуги
     * @type {string}
     * @memberof ServiceDiff
     */
    serviceVersion?: string;
    /**
     * Подверсия услуги
     * @type {number}
     * @memberof ServiceDiff
     */
    serviceSubVersion?: number;
    /**
     * Версия услуги (внутренняя)
     * @type {string}
     * @memberof ServiceDiff
     */
    revisionNumber?: string;
    /**
     * Время фиксации изменения
     * @type {string}
     * @memberof ServiceDiff
     */
    updated?: string;
    /**
     * Время фиксации в формате iso
     * @type {string}
     * @memberof ServiceDiff
     */
    updatedIso?: string;
    /**
     * Id пользователя, который внес изменение
     * @type {string}
     * @memberof ServiceDiff
     */
    userId?: string;
    /**
     * Имя пользователя, который внес изменение
     * @type {string}
     * @memberof ServiceDiff
     */
    username?: string;
    /**
     * Тип операции
     * @type {string}
     * @memberof ServiceDiff
     */
    operation?: string;
    /**
     * 
     * @type {RestoreInfo}
     * @memberof ServiceDiff
     */
    restoreInfo?: RestoreInfo;
    /**
     * Путь до измененного объекта
     * @type {Array<PathPart>}
     * @memberof ServiceDiff
     */
    pathParts?: Array<PathPart>;
}
/**
 * 
 * @export
 * @interface ServiceDiffAllOf
 */
export interface ServiceDiffAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof ServiceDiffAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof ServiceDiffAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof ServiceDiffAllOf
     */
    schema?: string;
    /**
     * Идентификатор услуги
     * @type {string}
     * @memberof ServiceDiffAllOf
     */
    serviceId?: string;
    /**
     * Версия услуги
     * @type {string}
     * @memberof ServiceDiffAllOf
     */
    serviceVersion?: string;
    /**
     * Подверсия услуги
     * @type {number}
     * @memberof ServiceDiffAllOf
     */
    serviceSubVersion?: number;
    /**
     * Версия услуги (внутренняя)
     * @type {string}
     * @memberof ServiceDiffAllOf
     */
    revisionNumber?: string;
    /**
     * Время фиксации изменения
     * @type {string}
     * @memberof ServiceDiffAllOf
     */
    updated?: string;
    /**
     * Время фиксации в формате iso
     * @type {string}
     * @memberof ServiceDiffAllOf
     */
    updatedIso?: string;
    /**
     * Id пользователя, который внес изменение
     * @type {string}
     * @memberof ServiceDiffAllOf
     */
    userId?: string;
    /**
     * Имя пользователя, который внес изменение
     * @type {string}
     * @memberof ServiceDiffAllOf
     */
    username?: string;
    /**
     * Тип операции
     * @type {string}
     * @memberof ServiceDiffAllOf
     */
    operation?: string;
    /**
     * 
     * @type {RestoreInfo}
     * @memberof ServiceDiffAllOf
     */
    restoreInfo?: RestoreInfo;
    /**
     * Путь до измененного объекта
     * @type {Array<PathPart>}
     * @memberof ServiceDiffAllOf
     */
    pathParts?: Array<PathPart>;
}
/**
 * Объект документа
 * @export
 * @interface ServiceDocument
 */
export interface ServiceDocument {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof ServiceDocument
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof ServiceDocument
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof ServiceDocument
     */
    schema?: string;
    /**
     * Наименование документа
     * @type {string}
     * @memberof ServiceDocument
     */
    name?: string;
    /**
     * Код документа
     * @type {string}
     * @memberof ServiceDocument
     */
    code?: string;
    /**
     * Источник поступления документа
     * @type {string}
     * @memberof ServiceDocument
     */
    source?: string;
    /**
     * Ссылка на шаблон документа
     * @type {string}
     * @memberof ServiceDocument
     */
    templateUrl?: string;
    /**
     * Результирующий статус заявления по этому документу
     * @type {string}
     * @memberof ServiceDocument
     */
    resultStatus?: string;
    /**
     * Идентификатор КЦР
     * @type {string}
     * @memberof ServiceDocument
     */
    kcrId?: string;
    /**
     * Версия
     * @type {string}
     * @memberof ServiceDocument
     */
    version?: string;
    /**
     * ID услуги
     * @type {string}
     * @memberof ServiceDocument
     */
    get_service_id?: string;
    /**
     * 
     * @type {boolean}
     * @memberof ServiceDocument
     */
    result?: boolean;
}
/**
 * 
 * @export
 * @interface ServiceDocumentAllOf
 */
export interface ServiceDocumentAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof ServiceDocumentAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof ServiceDocumentAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof ServiceDocumentAllOf
     */
    schema?: string;
    /**
     * Наименование документа
     * @type {string}
     * @memberof ServiceDocumentAllOf
     */
    name?: string;
    /**
     * Код документа
     * @type {string}
     * @memberof ServiceDocumentAllOf
     */
    code?: string;
    /**
     * Источник поступления документа
     * @type {string}
     * @memberof ServiceDocumentAllOf
     */
    source?: string;
    /**
     * Ссылка на шаблон документа
     * @type {string}
     * @memberof ServiceDocumentAllOf
     */
    templateUrl?: string;
    /**
     * Результирующий статус заявления по этому документу
     * @type {string}
     * @memberof ServiceDocumentAllOf
     */
    resultStatus?: string;
    /**
     * Идентификатор КЦР
     * @type {string}
     * @memberof ServiceDocumentAllOf
     */
    kcrId?: string;
    /**
     * Версия
     * @type {string}
     * @memberof ServiceDocumentAllOf
     */
    version?: string;
    /**
     * ID услуги
     * @type {string}
     * @memberof ServiceDocumentAllOf
     */
    get_service_id?: string;
    /**
     * 
     * @type {boolean}
     * @memberof ServiceDocumentAllOf
     */
    result?: boolean;
}
/**
 * Услуга для страниц статистики
 * @export
 * @interface ServiceForStats
 */
export interface ServiceForStats {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof ServiceForStats
     */
    id: string;
    /**
     * Код цели
     * @type {string}
     * @memberof ServiceForStats
     */
    targetId?: string;
    /**
     * Полное наименование услуги
     * @type {string}
     * @memberof ServiceForStats
     */
    fullName?: string;
    /**
     * Краткое наименование услуги
     * @type {string}
     * @memberof ServiceForStats
     */
    shortName?: string;
    /**
     * Наименование услуги
     * @type {string}
     * @memberof ServiceForStats
     */
    shortNameStat?: string;
}
/**
 * Маппинг услуги
 * @export
 * @interface ServiceMapping
 */
export interface ServiceMapping {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof ServiceMapping
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof ServiceMapping
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof ServiceMapping
     */
    schema?: string;
    /**
     * Название маппинга
     * @type {string}
     * @memberof ServiceMapping
     */
    name?: string;
    /**
     * Маппинг полей
     * @type {Array<FieldMapping>}
     * @memberof ServiceMapping
     */
    attrList?: Array<FieldMapping>;
}
/**
 * 
 * @export
 * @interface ServiceMappingAllOf
 */
export interface ServiceMappingAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof ServiceMappingAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof ServiceMappingAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof ServiceMappingAllOf
     */
    schema?: string;
    /**
     * Название маппинга
     * @type {string}
     * @memberof ServiceMappingAllOf
     */
    name?: string;
    /**
     * Маппинг полей
     * @type {Array<FieldMapping>}
     * @memberof ServiceMappingAllOf
     */
    attrList?: Array<FieldMapping>;
}
/**
 * 
 * @export
 * @interface ServiceScriptBackup
 */
export interface ServiceScriptBackup {
    /**
     * 
     * @type {string}
     * @memberof ServiceScriptBackup
     */
    version?: string;
    /**
     * 
     * @type {Service}
     * @memberof ServiceScriptBackup
     */
    service?: Service;
    /**
     * 
     * @type {Form}
     * @memberof ServiceScriptBackup
     */
    form?: Form;
    /**
     * 
     * @type {Model}
     * @memberof ServiceScriptBackup
     */
    model?: Model;
    /**
     * 
     * @type {Array<ProcessFile>}
     * @memberof ServiceScriptBackup
     */
    processes?: Array<ProcessFile>;
    /**
     * 
     * @type {Array<TableFile>}
     * @memberof ServiceScriptBackup
     */
    tables?: Array<TableFile>;
    /**
     * 
     * @type {Array<DocumentFile>}
     * @memberof ServiceScriptBackup
     */
    documents?: Array<DocumentFile>;
    /**
     * 
     * @type {Array<InteragencyWrapper>}
     * @memberof ServiceScriptBackup
     */
    interagencies?: Array<InteragencyWrapper>;
    /**
     * 
     * @type {Array<Dictionary>}
     * @memberof ServiceScriptBackup
     */
    dictionary?: Array<Dictionary>;
    /**
     * 
     * @type {Array<PaymentFile>}
     * @memberof ServiceScriptBackup
     */
    payments?: Array<PaymentFile>;
    /**
     * 
     * @type {SettingsForService}
     * @memberof ServiceScriptBackup
     */
    settingsForService?: SettingsForService;
    /**
     * 
     * @type {Array<SettingsForServiceProcess>}
     * @memberof ServiceScriptBackup
     */
    settingsForServiceProcesses?: Array<SettingsForServiceProcess>;
    /**
     * 
     * @type {Array<SettingsForServiceTemplate>}
     * @memberof ServiceScriptBackup
     */
    settingsForServiceTemplates?: Array<SettingsForServiceTemplate>;
    /**
     * 
     * @type {Array<SettingsForServiceCriteria>}
     * @memberof ServiceScriptBackup
     */
    settingsForServiceCriteria?: Array<SettingsForServiceCriteria>;
}
/**
 * 
 * @export
 * @interface ServiceShortInfo
 */
export interface ServiceShortInfo {
    /**
     * id услуги
     * @type {string}
     * @memberof ServiceShortInfo
     */
    id?: string;
    /**
     * Количество версий услуг
     * @type {string}
     * @memberof ServiceShortInfo
     */
    name?: string;
    /**
     * Версия услуги
     * @type {string}
     * @memberof ServiceShortInfo
     */
    version?: string;
    /**
     * Версия услуги в виде int значения
     * @type {number}
     * @memberof ServiceShortInfo
     */
    versionInt?: number;
    /**
     * Дата редактирования yyyy-MM-dd\'T\'HH:mm:ss
     * @type {string}
     * @memberof ServiceShortInfo
     */
    date?: string;
}
/**
 * Статус сервиса
 * @export
 * @enum {string}
 */

export enum ServiceStateEnum {
    Draft = 'DRAFT',
    InProcess = 'IN_PROCESS',
    ReadyForPublish = 'READY_FOR_PUBLISH',
}

/**
 * Дополнительная услуга
 * @export
 * @interface SettingsForService
 */
export interface SettingsForService {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof SettingsForService
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof SettingsForService
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof SettingsForService
     */
    schema?: string;
    /**
     * Версия
     * @type {string}
     * @memberof SettingsForService
     */
    version: string;
    /**
     * Реестр
     * @type {string}
     * @memberof SettingsForService
     */
    registryId?: string;
    /**
     * Краткое наименование
     * @type {string}
     * @memberof SettingsForService
     */
    shortName: string;
    /**
     * Наименование
     * @type {string}
     * @memberof SettingsForService
     */
    fullName: string;
    /**
     * Код цели
     * @type {string}
     * @memberof SettingsForService
     */
    targetId: string;
    /**
     * Тип услуги
     * @type {string}
     * @memberof SettingsForService
     */
    petitionType: string;
    /**
     * Цели
     * @type {Array<Goal>}
     * @memberof SettingsForService
     */
    goals?: Array<Goal>;
    /**
     * 
     * @type {ServiceStateEnum}
     * @memberof SettingsForService
     */
    state: ServiceStateEnum;
    /**
     * Идентификатор услуги
     * @type {string}
     * @memberof SettingsForService
     */
    serviceId: string;
    /**
     * Мера соц.поддержки
     * @type {string}
     * @memberof SettingsForService
     */
    socialSupportMeasureId: string;
    /**
     * 
     * @type {string}
     * @memberof SettingsForService
     */
    modifyDate?: string;
    /**
     * 
     * @type {string}
     * @memberof SettingsForService
     */
    creationDate?: string;
    /**
     * GUID шаблона ЕПГУ
     * @type {string}
     * @memberof SettingsForService
     */
    guidEPGUtemplate?: string;
    /**
     * Заголовок уведомления ЕПГУ
     * @type {string}
     * @memberof SettingsForService
     */
    guidEPGUheader?: string;
    /**
     * 
     * @type {PaymentType}
     * @memberof SettingsForService
     */
    paymentType?: PaymentType;
    /**
     * 
     * @type {PaymentPeriod}
     * @memberof SettingsForService
     */
    paymentPeriod?: PaymentPeriod;
    /**
     * 
     * @type {boolean}
     * @memberof SettingsForService
     */
    paymentSettings?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof SettingsForService
     */
    proActive?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof SettingsForService
     */
    requiresEGISSO?: boolean;
}
/**
 * 
 * @export
 * @interface SettingsForServiceAllOf
 */
export interface SettingsForServiceAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof SettingsForServiceAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof SettingsForServiceAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof SettingsForServiceAllOf
     */
    schema?: string;
    /**
     * Версия
     * @type {string}
     * @memberof SettingsForServiceAllOf
     */
    version?: string;
    /**
     * Реестр
     * @type {string}
     * @memberof SettingsForServiceAllOf
     */
    registryId?: string;
    /**
     * Краткое наименование
     * @type {string}
     * @memberof SettingsForServiceAllOf
     */
    shortName?: string;
    /**
     * Наименование
     * @type {string}
     * @memberof SettingsForServiceAllOf
     */
    fullName?: string;
    /**
     * Код цели
     * @type {string}
     * @memberof SettingsForServiceAllOf
     */
    targetId?: string;
    /**
     * Тип услуги
     * @type {string}
     * @memberof SettingsForServiceAllOf
     */
    petitionType?: string;
    /**
     * Цели
     * @type {Array<Goal>}
     * @memberof SettingsForServiceAllOf
     */
    goals?: Array<Goal>;
    /**
     * 
     * @type {ServiceStateEnum}
     * @memberof SettingsForServiceAllOf
     */
    state?: ServiceStateEnum;
    /**
     * Идентификатор услуги
     * @type {string}
     * @memberof SettingsForServiceAllOf
     */
    serviceId?: string;
    /**
     * Мера соц.поддержки
     * @type {string}
     * @memberof SettingsForServiceAllOf
     */
    socialSupportMeasureId?: string;
    /**
     * 
     * @type {string}
     * @memberof SettingsForServiceAllOf
     */
    modifyDate?: string;
    /**
     * 
     * @type {string}
     * @memberof SettingsForServiceAllOf
     */
    creationDate?: string;
    /**
     * GUID шаблона ЕПГУ
     * @type {string}
     * @memberof SettingsForServiceAllOf
     */
    guidEPGUtemplate?: string;
    /**
     * Заголовок уведомления ЕПГУ
     * @type {string}
     * @memberof SettingsForServiceAllOf
     */
    guidEPGUheader?: string;
    /**
     * 
     * @type {PaymentType}
     * @memberof SettingsForServiceAllOf
     */
    paymentType?: PaymentType;
    /**
     * 
     * @type {PaymentPeriod}
     * @memberof SettingsForServiceAllOf
     */
    paymentPeriod?: PaymentPeriod;
    /**
     * 
     * @type {boolean}
     * @memberof SettingsForServiceAllOf
     */
    paymentSettings?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof SettingsForServiceAllOf
     */
    proActive?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof SettingsForServiceAllOf
     */
    requiresEGISSO?: boolean;
}
/**
 * Критерии проактива
 * @export
 * @interface SettingsForServiceCriteria
 */
export interface SettingsForServiceCriteria {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof SettingsForServiceCriteria
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof SettingsForServiceCriteria
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof SettingsForServiceCriteria
     */
    schema?: string;
    /**
     * Идентификатор критерии
     * @type {string}
     * @memberof SettingsForServiceCriteria
     */
    criteriaId: string;
}
/**
 * 
 * @export
 * @interface SettingsForServiceCriteriaAllOf
 */
export interface SettingsForServiceCriteriaAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof SettingsForServiceCriteriaAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof SettingsForServiceCriteriaAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof SettingsForServiceCriteriaAllOf
     */
    schema?: string;
    /**
     * Идентификатор критерии
     * @type {string}
     * @memberof SettingsForServiceCriteriaAllOf
     */
    criteriaId?: string;
}
/**
 * 
 * @export
 * @interface SettingsForServiceModifyResponse
 */
export interface SettingsForServiceModifyResponse {
    /**
     * true в случае успешной операции, false в противном
     * @type {boolean}
     * @memberof SettingsForServiceModifyResponse
     */
    success: boolean;
    /**
     * Сообщение об ошибке или об успехе
     * @type {string}
     * @memberof SettingsForServiceModifyResponse
     */
    message: string;
    /**
     * 
     * @type {Document}
     * @memberof SettingsForServiceModifyResponse
     */
    document?: Document;
    /**
     * Измененные документы
     * @type {Array<SettingsForService>}
     * @memberof SettingsForServiceModifyResponse
     */
    documents?: Array<SettingsForService>;
    /**
     * IDs Документов в рамках операции
     * @type {Array<string>}
     * @memberof SettingsForServiceModifyResponse
     */
    objectIds?: Array<string>;
    /**
     * Дата модификации всех Документов в рамках операции
     * @type {number}
     * @memberof SettingsForServiceModifyResponse
     */
    modified: number;
}
/**
 * Процесс
 * @export
 * @interface SettingsForServiceProcess
 */
export interface SettingsForServiceProcess {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof SettingsForServiceProcess
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof SettingsForServiceProcess
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof SettingsForServiceProcess
     */
    schema?: string;
    /**
     * 
     * @type {ProcessTypeEnum}
     * @memberof SettingsForServiceProcess
     */
    processType: ProcessTypeEnum;
    /**
     * Наименование
     * @type {string}
     * @memberof SettingsForServiceProcess
     */
    processName: string;
    /**
     * Id процесса
     * @type {string}
     * @memberof SettingsForServiceProcess
     */
    processId: string;
}
/**
 * 
 * @export
 * @interface SettingsForServiceProcessAllOf
 */
export interface SettingsForServiceProcessAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof SettingsForServiceProcessAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof SettingsForServiceProcessAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof SettingsForServiceProcessAllOf
     */
    schema?: string;
    /**
     * 
     * @type {ProcessTypeEnum}
     * @memberof SettingsForServiceProcessAllOf
     */
    processType?: ProcessTypeEnum;
    /**
     * Наименование
     * @type {string}
     * @memberof SettingsForServiceProcessAllOf
     */
    processName?: string;
    /**
     * Id процесса
     * @type {string}
     * @memberof SettingsForServiceProcessAllOf
     */
    processId?: string;
}
/**
 * 
 * @export
 * @interface SettingsForServiceProcessRequest
 */
export interface SettingsForServiceProcessRequest {
    /**
     * 
     * @type {ProcessTypeEnum}
     * @memberof SettingsForServiceProcessRequest
     */
    processType: ProcessTypeEnum;
    /**
     * Наименование
     * @type {string}
     * @memberof SettingsForServiceProcessRequest
     */
    processName: string;
}
/**
 * 
 * @export
 * @interface SettingsForServiceStatusUpdateRequest
 */
export interface SettingsForServiceStatusUpdateRequest {
    /**
     * 
     * @type {string}
     * @memberof SettingsForServiceStatusUpdateRequest
     */
    settingsForServiceId?: string;
}
/**
 * Шаблон документов
 * @export
 * @interface SettingsForServiceTemplate
 */
export interface SettingsForServiceTemplate {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof SettingsForServiceTemplate
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof SettingsForServiceTemplate
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof SettingsForServiceTemplate
     */
    schema?: string;
    /**
     * Наименование документа
     * @type {string}
     * @memberof SettingsForServiceTemplate
     */
    name: string;
    /**
     * Код документа
     * @type {string}
     * @memberof SettingsForServiceTemplate
     */
    code: string;
    /**
     * 
     * @type {TemplateDocumentTypeEnum}
     * @memberof SettingsForServiceTemplate
     */
    type: TemplateDocumentTypeEnum;
    /**
     * 
     * @type {DocumentOperationEnum}
     * @memberof SettingsForServiceTemplate
     */
    operation: DocumentOperationEnum;
    /**
     * Id шаблона
     * @type {string}
     * @memberof SettingsForServiceTemplate
     */
    templateId: string;
}
/**
 * 
 * @export
 * @interface SettingsForServiceTemplateAllOf
 */
export interface SettingsForServiceTemplateAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof SettingsForServiceTemplateAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof SettingsForServiceTemplateAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof SettingsForServiceTemplateAllOf
     */
    schema?: string;
    /**
     * Наименование документа
     * @type {string}
     * @memberof SettingsForServiceTemplateAllOf
     */
    name?: string;
    /**
     * Код документа
     * @type {string}
     * @memberof SettingsForServiceTemplateAllOf
     */
    code?: string;
    /**
     * 
     * @type {TemplateDocumentTypeEnum}
     * @memberof SettingsForServiceTemplateAllOf
     */
    type?: TemplateDocumentTypeEnum;
    /**
     * 
     * @type {DocumentOperationEnum}
     * @memberof SettingsForServiceTemplateAllOf
     */
    operation?: DocumentOperationEnum;
    /**
     * Id шаблона
     * @type {string}
     * @memberof SettingsForServiceTemplateAllOf
     */
    templateId?: string;
}
/**
 * Список административных процедур (регламентная настройка)
 * @export
 * @interface Stage
 */
export interface Stage {
    /**
     * Порядковый номер
     * @type {number}
     * @memberof Stage
     */
    number?: number;
    /**
     * Название
     * @type {string}
     * @memberof Stage
     */
    name: string;
    /**
     * Триггер
     * @type {string}
     * @memberof Stage
     */
    statusTrigger?: string;
    /**
     * Возможные скоупы
     * @type {Array<string>}
     * @memberof Stage
     */
    statusScope?: Array<string>;
    /**
     * Период предоставления
     * @type {number}
     * @memberof Stage
     */
    executionPeriodInDays?: number;
    /**
     * Время уведомления
     * @type {number}
     * @memberof Stage
     */
    notifyInHours?: number;
    /**
     * Действия
     * @type {Array<Action>}
     * @memberof Stage
     */
    actions: Array<Action>;
    /**
     * Документы
     * @type {{ [key: string]: Array<object>; }}
     * @memberof Stage
     */
    documents?: { [key: string]: Array<object>; };
}
/**
 * 
 * @export
 * @interface StatusResponse
 */
export interface StatusResponse {
    /**
     * 
     * @type {boolean}
     * @memberof StatusResponse
     */
    success?: boolean;
    /**
     * 
     * @type {string}
     * @memberof StatusResponse
     */
    message?: string;
}
/**
 * Последовательность шагов
 * @export
 * @interface Step
 */
export interface Step {
    /**
     * Id организации
     * @type {string}
     * @memberof Step
     */
    idOrg: string;
    /**
     * Поддепартаменты
     * @type {Array<string>}
     * @memberof Step
     */
    subOrgs?: Array<string>;
    /**
     * Порядковый номер
     * @type {number}
     * @memberof Step
     */
    number?: number;
    /**
     * Список проверок
     * @type {Array<string>}
     * @memberof Step
     */
    dataPrepChecks?: Array<string>;
}
/**
 * Объект таблицы решения
 * @export
 * @interface Table
 */
export interface Table {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof Table
     */
    id: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof Table
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof Table
     */
    schema?: string;
    /**
     * Идентификатор таблицы решения
     * @type {string}
     * @memberof Table
     */
    name?: string;
    /**
     * Код цели услуги
     * @type {string}
     * @memberof Table
     */
    serviceCode?: string;
    /**
     * Версия
     * @type {string}
     * @memberof Table
     */
    version?: string;
    /**
     * ID услуги
     * @type {string}
     * @memberof Table
     */
    get_service_id?: string;
    /**
     * ID услуги
     * @type {string}
     * @memberof Table
     */
    serviceId?: string;
}
/**
 * 
 * @export
 * @interface TableAllOf
 */
export interface TableAllOf {
    /**
     * Уникальный идентификатор документа
     * @type {string}
     * @memberof TableAllOf
     */
    id?: string;
    /**
     * Дата модификации как UnixTime (Может требоваться при обновлении)
     * @type {number}
     * @memberof TableAllOf
     */
    modified?: number;
    /**
     * Имя схемы документа
     * @type {string}
     * @memberof TableAllOf
     */
    schema?: string;
    /**
     * Идентификатор таблицы решения
     * @type {string}
     * @memberof TableAllOf
     */
    name?: string;
    /**
     * Код цели услуги
     * @type {string}
     * @memberof TableAllOf
     */
    serviceCode?: string;
    /**
     * Версия
     * @type {string}
     * @memberof TableAllOf
     */
    version?: string;
    /**
     * ID услуги
     * @type {string}
     * @memberof TableAllOf
     */
    get_service_id?: string;
    /**
     * ID услуги
     * @type {string}
     * @memberof TableAllOf
     */
    serviceId?: string;
}
/**
 * 
 * @export
 * @interface TableFile
 */
export interface TableFile {
    /**
     * 
     * @type {Table}
     * @memberof TableFile
     */
    table?: Table;
    /**
     * 
     * @type {string}
     * @memberof TableFile
     */
    file_name?: string;
}
/**
 * Список шаблонов преобразования XML
 * @export
 * @interface Template
 */
export interface Template {
    /**
     * Идентификатор цели представления
     * @type {string}
     * @memberof Template
     */
    goal?: string;
    /**
     * Ссылка на шаблон трансформации
     * @type {string}
     * @memberof Template
     */
    templateUrl?: string;
}
/**
 * Тип документа
 * @export
 * @enum {string}
 */

export enum TemplateDocumentTypeEnum {
    Docx = 'DOCX',
    Pdf = 'PDF',
    Xml = 'XML',
    Csv = 'CSV',
    Excel = 'EXCEL',
}

/**
 * 
 * @export
 * @interface Value
 */
export interface Value {
    /**
     * DecisionObjectTO.id
     * @type {string}
     * @memberof Value
     */
    id?: string;
    /**
     * DecisionObjectTO.value
     * @type {number}
     * @memberof Value
     */
    value?: number;
}

/**
 * APIApi - axios parameter creator
 * @export
 */
export const APIApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * Возвращает Swagger файл в формате YAML описывающий Rest API в формате Swagger (OpenAPI 3.0.1)
         * @summary Возвращает Swagger/OpenAPI файл
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getApi: async (options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/api`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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


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

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

/**
 * APIApi - functional programming interface
 * @export
 */
export const APIApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = APIApiAxiosParamCreator(configuration)
    return {
        /**
         * Возвращает Swagger файл в формате YAML описывающий Rest API в формате Swagger (OpenAPI 3.0.1)
         * @summary Возвращает Swagger/OpenAPI файл
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getApi(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getApi(options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * APIApi - factory interface
 * @export
 */
export const APIApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = APIApiFp(configuration)
    return {
        /**
         * Возвращает Swagger файл в формате YAML описывающий Rest API в формате Swagger (OpenAPI 3.0.1)
         * @summary Возвращает Swagger/OpenAPI файл
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getApi(options?: any): AxiosPromise<void> {
            return localVarFp.getApi(options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * APIApi - object-oriented interface
 * @export
 * @class APIApi
 * @extends {BaseAPI}
 */
export class APIApi extends BaseAPI {
    /**
     * Возвращает Swagger файл в формате YAML описывающий Rest API в формате Swagger (OpenAPI 3.0.1)
     * @summary Возвращает Swagger/OpenAPI файл
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof APIApi
     */
    public getApi(options?: any) {
        return APIApiFp(this.configuration).getApi(options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * ApproveStepsApi - axios parameter creator
 * @export
 */
export const ApproveStepsApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ApproveSteps>} approveSteps Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createApproveSteps: async (approveSteps: Array<ApproveSteps>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'approveSteps' is not null or undefined
            assertParamExists('createApproveSteps', 'approveSteps', approveSteps)
            const localVarPath = `/approvesteps`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteApproveSteps: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteApproveSteps', 'requestBody', requestBody)
            const localVarPath = `/approvesteps`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getApproveSteps: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getApproveSteps', 'id', id)
            const localVarPath = `/approvesteps/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingApproveSteps: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/approvesteps`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchApproveSteps: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/approvesteps/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ApproveSteps>} approveSteps Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateApproveSteps: async (approveSteps: Array<ApproveSteps>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'approveSteps' is not null or undefined
            assertParamExists('updateApproveSteps', 'approveSteps', approveSteps)
            const localVarPath = `/approvesteps`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

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

/**
 * ApproveStepsApi - functional programming interface
 * @export
 */
export const ApproveStepsApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = ApproveStepsApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ApproveSteps>} approveSteps Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createApproveSteps(approveSteps: Array<ApproveSteps>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createApproveSteps(approveSteps, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteApproveSteps(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteApproveSteps(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getApproveSteps(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApproveSteps>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getApproveSteps(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingApproveSteps(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfApproveSteps>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingApproveSteps(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchApproveSteps(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ApproveSteps>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchApproveSteps(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ApproveSteps>} approveSteps Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateApproveSteps(approveSteps: Array<ApproveSteps>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateApproveSteps(approveSteps, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * ApproveStepsApi - factory interface
 * @export
 */
export const ApproveStepsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = ApproveStepsApiFp(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ApproveSteps>} approveSteps Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createApproveSteps(approveSteps: Array<ApproveSteps>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createApproveSteps(approveSteps, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteApproveSteps(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteApproveSteps(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getApproveSteps(id: string, expand?: string, options?: any): AxiosPromise<ApproveSteps> {
            return localVarFp.getApproveSteps(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingApproveSteps(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfApproveSteps> {
            return localVarFp.pagingApproveSteps(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchApproveSteps(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<ApproveSteps>> {
            return localVarFp.searchApproveSteps(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ApproveSteps>} approveSteps Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateApproveSteps(approveSteps: Array<ApproveSteps>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateApproveSteps(approveSteps, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * ApproveStepsApi - object-oriented interface
 * @export
 * @class ApproveStepsApi
 * @extends {BaseAPI}
 */
export class ApproveStepsApi extends BaseAPI {
    /**
     * 
     * @summary Создает новый объект
     * @param {Array<ApproveSteps>} approveSteps Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ApproveStepsApi
     */
    public createApproveSteps(approveSteps: Array<ApproveSteps>, options?: any) {
        return ApproveStepsApiFp(this.configuration).createApproveSteps(approveSteps, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ApproveStepsApi
     */
    public deleteApproveSteps(requestBody: Array<string>, options?: any) {
        return ApproveStepsApiFp(this.configuration).deleteApproveSteps(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ApproveStepsApi
     */
    public getApproveSteps(id: string, expand?: string, options?: any) {
        return ApproveStepsApiFp(this.configuration).getApproveSteps(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ApproveStepsApi
     */
    public pagingApproveSteps(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ApproveStepsApiFp(this.configuration).pagingApproveSteps(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ApproveStepsApi
     */
    public searchApproveSteps(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ApproveStepsApiFp(this.configuration).searchApproveSteps(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<ApproveSteps>} approveSteps Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ApproveStepsApi
     */
    public updateApproveSteps(approveSteps: Array<ApproveSteps>, options?: any) {
        return ApproveStepsApiFp(this.configuration).updateApproveSteps(approveSteps, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * AttachmentApi - axios parameter creator
 * @export
 */
export const AttachmentApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Добавляет информацию о подписи к вложениям
         * @param {string} schema 
         * @param {string} id 
         * @param {Array<AttachmentSignatureInfo>} attachmentSignatureInfo Signature info
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        addSignatureInfo: async (schema: string, id: string, attachmentSignatureInfo: Array<AttachmentSignatureInfo>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('addSignatureInfo', 'schema', schema)
            // verify required parameter 'id' is not null or undefined
            assertParamExists('addSignatureInfo', 'id', id)
            // verify required parameter 'attachmentSignatureInfo' is not null or undefined
            assertParamExists('addSignatureInfo', 'attachmentSignatureInfo', attachmentSignatureInfo)
            const localVarPath = `/document/{schema}/{id}/signatureInfo`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)))
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет вложение документа по его идентификатору
         * @param {string} schema 
         * @param {string} id 
         * @param {string} fileName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteDocumentFile: async (schema: string, id: string, fileName: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('deleteDocumentFile', 'schema', schema)
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteDocumentFile', 'id', id)
            // verify required parameter 'fileName' is not null or undefined
            assertParamExists('deleteDocumentFile', 'fileName', fileName)
            const localVarPath = `/document/{schema}/{id}/file/{fileName}`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)))
                .replace(`{${"id"}}`, encodeURIComponent(String(id)))
                .replace(`{${"fileName"}}`, encodeURIComponent(String(fileName)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает информацию обо всех вложениях
         * @param {string} schema 
         * @param {string} id 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getAllFileInfo: async (schema: string, id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('getAllFileInfo', 'schema', schema)
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getAllFileInfo', 'id', id)
            const localVarPath = `/document/{schema}/{id}/info`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)))
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает вложение документа по его идентификатору
         * @param {string} schema 
         * @param {string} id 
         * @param {string} fileName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDocumentFile: async (schema: string, id: string, fileName: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('getDocumentFile', 'schema', schema)
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getDocumentFile', 'id', id)
            // verify required parameter 'fileName' is not null or undefined
            assertParamExists('getDocumentFile', 'fileName', fileName)
            const localVarPath = `/document/{schema}/{id}/file/{fileName}`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)))
                .replace(`{${"id"}}`, encodeURIComponent(String(id)))
                .replace(`{${"fileName"}}`, encodeURIComponent(String(fileName)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает информацию о вложении документа
         * @param {string} schema 
         * @param {string} id 
         * @param {string} fileName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDocumentFileInfo: async (schema: string, id: string, fileName: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('getDocumentFileInfo', 'schema', schema)
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getDocumentFileInfo', 'id', id)
            // verify required parameter 'fileName' is not null or undefined
            assertParamExists('getDocumentFileInfo', 'fileName', fileName)
            const localVarPath = `/document/{schema}/{id}/file/{fileName}/info`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)))
                .replace(`{${"id"}}`, encodeURIComponent(String(id)))
                .replace(`{${"fileName"}}`, encodeURIComponent(String(fileName)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Добавляет вложение документу
         * @param {string} schema 
         * @param {string} id 
         * @param {string} [description] 
         * @param {Array<any>} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateDocumentFile: async (schema: string, id: string, description?: string, files?: Array<any>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('updateDocumentFile', 'schema', schema)
            // verify required parameter 'id' is not null or undefined
            assertParamExists('updateDocumentFile', 'id', id)
            const localVarPath = `/document/{schema}/{id}/file`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)))
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

            if (files) {
                files.forEach((element) => {
                    localVarFormParams.append('files', element as any);
                })
            }

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Добавляет вложение, присланное в виде json
         * @param {string} schema 
         * @param {string} id 
         * @param {Array<DocumentAttachmentAsJSON>} documentAttachmentAsJSON Attachments as json for document
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateDocumentFileAsJson: async (schema: string, id: string, documentAttachmentAsJSON: Array<DocumentAttachmentAsJSON>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('updateDocumentFileAsJson', 'schema', schema)
            // verify required parameter 'id' is not null or undefined
            assertParamExists('updateDocumentFileAsJson', 'id', id)
            // verify required parameter 'documentAttachmentAsJSON' is not null or undefined
            assertParamExists('updateDocumentFileAsJson', 'documentAttachmentAsJSON', documentAttachmentAsJSON)
            const localVarPath = `/document/{schema}/{id}/fileAsJson`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)))
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

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

/**
 * AttachmentApi - functional programming interface
 * @export
 */
export const AttachmentApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = AttachmentApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Добавляет информацию о подписи к вложениям
         * @param {string} schema 
         * @param {string} id 
         * @param {Array<AttachmentSignatureInfo>} attachmentSignatureInfo Signature info
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async addSignatureInfo(schema: string, id: string, attachmentSignatureInfo: Array<AttachmentSignatureInfo>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.addSignatureInfo(schema, id, attachmentSignatureInfo, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет вложение документа по его идентификатору
         * @param {string} schema 
         * @param {string} id 
         * @param {string} fileName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteDocumentFile(schema: string, id: string, fileName: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteDocumentFile(schema, id, fileName, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает информацию обо всех вложениях
         * @param {string} schema 
         * @param {string} id 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getAllFileInfo(schema: string, id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<DocumentAttachmentFileDescriptor>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getAllFileInfo(schema, id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает вложение документа по его идентификатору
         * @param {string} schema 
         * @param {string} id 
         * @param {string} fileName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getDocumentFile(schema: string, id: string, fileName: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getDocumentFile(schema, id, fileName, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает информацию о вложении документа
         * @param {string} schema 
         * @param {string} id 
         * @param {string} fileName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getDocumentFileInfo(schema: string, id: string, fileName: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getDocumentFileInfo(schema, id, fileName, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Добавляет вложение документу
         * @param {string} schema 
         * @param {string} id 
         * @param {string} [description] 
         * @param {Array<any>} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateDocumentFile(schema: string, id: string, description?: string, files?: Array<any>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateDocumentFile(schema, id, description, files, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Добавляет вложение, присланное в виде json
         * @param {string} schema 
         * @param {string} id 
         * @param {Array<DocumentAttachmentAsJSON>} documentAttachmentAsJSON Attachments as json for document
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateDocumentFileAsJson(schema: string, id: string, documentAttachmentAsJSON: Array<DocumentAttachmentAsJSON>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateDocumentFileAsJson(schema, id, documentAttachmentAsJSON, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * AttachmentApi - factory interface
 * @export
 */
export const AttachmentApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = AttachmentApiFp(configuration)
    return {
        /**
         * 
         * @summary Добавляет информацию о подписи к вложениям
         * @param {string} schema 
         * @param {string} id 
         * @param {Array<AttachmentSignatureInfo>} attachmentSignatureInfo Signature info
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        addSignatureInfo(schema: string, id: string, attachmentSignatureInfo: Array<AttachmentSignatureInfo>, options?: any): AxiosPromise<Response> {
            return localVarFp.addSignatureInfo(schema, id, attachmentSignatureInfo, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет вложение документа по его идентификатору
         * @param {string} schema 
         * @param {string} id 
         * @param {string} fileName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteDocumentFile(schema: string, id: string, fileName: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteDocumentFile(schema, id, fileName, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает информацию обо всех вложениях
         * @param {string} schema 
         * @param {string} id 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getAllFileInfo(schema: string, id: string, options?: any): AxiosPromise<Array<DocumentAttachmentFileDescriptor>> {
            return localVarFp.getAllFileInfo(schema, id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает вложение документа по его идентификатору
         * @param {string} schema 
         * @param {string} id 
         * @param {string} fileName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDocumentFile(schema: string, id: string, fileName: string, options?: any): AxiosPromise<object> {
            return localVarFp.getDocumentFile(schema, id, fileName, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает информацию о вложении документа
         * @param {string} schema 
         * @param {string} id 
         * @param {string} fileName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDocumentFileInfo(schema: string, id: string, fileName: string, options?: any): AxiosPromise<Response> {
            return localVarFp.getDocumentFileInfo(schema, id, fileName, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Добавляет вложение документу
         * @param {string} schema 
         * @param {string} id 
         * @param {string} [description] 
         * @param {Array<any>} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateDocumentFile(schema: string, id: string, description?: string, files?: Array<any>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateDocumentFile(schema, id, description, files, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Добавляет вложение, присланное в виде json
         * @param {string} schema 
         * @param {string} id 
         * @param {Array<DocumentAttachmentAsJSON>} documentAttachmentAsJSON Attachments as json for document
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateDocumentFileAsJson(schema: string, id: string, documentAttachmentAsJSON: Array<DocumentAttachmentAsJSON>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateDocumentFileAsJson(schema, id, documentAttachmentAsJSON, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * AttachmentApi - object-oriented interface
 * @export
 * @class AttachmentApi
 * @extends {BaseAPI}
 */
export class AttachmentApi extends BaseAPI {
    /**
     * 
     * @summary Добавляет информацию о подписи к вложениям
     * @param {string} schema 
     * @param {string} id 
     * @param {Array<AttachmentSignatureInfo>} attachmentSignatureInfo Signature info
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AttachmentApi
     */
    public addSignatureInfo(schema: string, id: string, attachmentSignatureInfo: Array<AttachmentSignatureInfo>, options?: any) {
        return AttachmentApiFp(this.configuration).addSignatureInfo(schema, id, attachmentSignatureInfo, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет вложение документа по его идентификатору
     * @param {string} schema 
     * @param {string} id 
     * @param {string} fileName 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AttachmentApi
     */
    public deleteDocumentFile(schema: string, id: string, fileName: string, options?: any) {
        return AttachmentApiFp(this.configuration).deleteDocumentFile(schema, id, fileName, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает информацию обо всех вложениях
     * @param {string} schema 
     * @param {string} id 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AttachmentApi
     */
    public getAllFileInfo(schema: string, id: string, options?: any) {
        return AttachmentApiFp(this.configuration).getAllFileInfo(schema, id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает вложение документа по его идентификатору
     * @param {string} schema 
     * @param {string} id 
     * @param {string} fileName 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AttachmentApi
     */
    public getDocumentFile(schema: string, id: string, fileName: string, options?: any) {
        return AttachmentApiFp(this.configuration).getDocumentFile(schema, id, fileName, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает информацию о вложении документа
     * @param {string} schema 
     * @param {string} id 
     * @param {string} fileName 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AttachmentApi
     */
    public getDocumentFileInfo(schema: string, id: string, fileName: string, options?: any) {
        return AttachmentApiFp(this.configuration).getDocumentFileInfo(schema, id, fileName, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Добавляет вложение документу
     * @param {string} schema 
     * @param {string} id 
     * @param {string} [description] 
     * @param {Array<any>} [files] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AttachmentApi
     */
    public updateDocumentFile(schema: string, id: string, description?: string, files?: Array<any>, options?: any) {
        return AttachmentApiFp(this.configuration).updateDocumentFile(schema, id, description, files, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Добавляет вложение, присланное в виде json
     * @param {string} schema 
     * @param {string} id 
     * @param {Array<DocumentAttachmentAsJSON>} documentAttachmentAsJSON Attachments as json for document
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AttachmentApi
     */
    public updateDocumentFileAsJson(schema: string, id: string, documentAttachmentAsJSON: Array<DocumentAttachmentAsJSON>, options?: any) {
        return AttachmentApiFp(this.configuration).updateDocumentFileAsJson(schema, id, documentAttachmentAsJSON, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * CampApi - axios parameter creator
 * @export
 */
export const CampApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countCamp: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/camps/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Camp>} camp Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createCamp: async (camp: Array<Camp>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'camp' is not null or undefined
            assertParamExists('createCamp', 'camp', camp)
            const localVarPath = `/camps`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdCamp: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdCamp', 'id', id)
            const localVarPath = `/camps/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteCamp: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteCamp', 'requestBody', requestBody)
            const localVarPath = `/camps`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getCamp: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getCamp', 'id', id)
            const localVarPath = `/camps/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingCamp: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/camps`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchCamp: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/camps/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Camp>} camp Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkCamp: async (camp: Array<Camp>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'camp' is not null or undefined
            assertParamExists('unlinkCamp', 'camp', camp)
            const localVarPath = `/camps`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Camp>} camp Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateCamp: async (camp: Array<Camp>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'camp' is not null or undefined
            assertParamExists('updateCamp', 'camp', camp)
            const localVarPath = `/camps`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

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

/**
 * CampApi - functional programming interface
 * @export
 */
export const CampApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = CampApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countCamp(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countCamp(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Camp>} camp Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createCamp(camp: Array<Camp>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createCamp(camp, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdCamp(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdCamp(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteCamp(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteCamp(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getCamp(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Camp>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getCamp(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingCamp(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfCamp>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingCamp(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchCamp(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Camp>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchCamp(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Camp>} camp Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkCamp(camp: Array<Camp>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkCamp(camp, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Camp>} camp Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateCamp(camp: Array<Camp>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateCamp(camp, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * CampApi - factory interface
 * @export
 */
export const CampApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = CampApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countCamp(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countCamp(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Camp>} camp Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createCamp(camp: Array<Camp>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createCamp(camp, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdCamp(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdCamp(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteCamp(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteCamp(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getCamp(id: string, expand?: string, options?: any): AxiosPromise<Camp> {
            return localVarFp.getCamp(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingCamp(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfCamp> {
            return localVarFp.pagingCamp(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchCamp(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<Camp>> {
            return localVarFp.searchCamp(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Camp>} camp Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkCamp(camp: Array<Camp>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkCamp(camp, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Camp>} camp Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateCamp(camp: Array<Camp>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateCamp(camp, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * CampApi - object-oriented interface
 * @export
 * @class CampApi
 * @extends {BaseAPI}
 */
export class CampApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CampApi
     */
    public countCamp(query?: string, fulltext?: string, options?: any) {
        return CampApiFp(this.configuration).countCamp(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<Camp>} camp Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CampApi
     */
    public createCamp(camp: Array<Camp>, options?: any) {
        return CampApiFp(this.configuration).createCamp(camp, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CampApi
     */
    public deleteByIdCamp(id: string, options?: any) {
        return CampApiFp(this.configuration).deleteByIdCamp(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CampApi
     */
    public deleteCamp(requestBody: Array<string>, options?: any) {
        return CampApiFp(this.configuration).deleteCamp(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CampApi
     */
    public getCamp(id: string, expand?: string, options?: any) {
        return CampApiFp(this.configuration).getCamp(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CampApi
     */
    public pagingCamp(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return CampApiFp(this.configuration).pagingCamp(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CampApi
     */
    public searchCamp(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return CampApiFp(this.configuration).searchCamp(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<Camp>} camp Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CampApi
     */
    public unlinkCamp(camp: Array<Camp>, options?: any) {
        return CampApiFp(this.configuration).unlinkCamp(camp, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<Camp>} camp Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CampApi
     */
    public updateCamp(camp: Array<Camp>, options?: any) {
        return CampApiFp(this.configuration).updateCamp(camp, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * CustomFormLinkApi - axios parameter creator
 * @export
 */
export const CustomFormLinkApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<CustomFormLink>} customFormLink Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createCustomFormLink: async (customFormLink: Array<CustomFormLink>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'customFormLink' is not null or undefined
            assertParamExists('createCustomFormLink', 'customFormLink', customFormLink)
            const localVarPath = `/customforms`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteCustomFormLink: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteCustomFormLink', 'requestBody', requestBody)
            const localVarPath = `/customforms`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchCustomFormLink: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/customforms/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<CustomFormLink>} customFormLink Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateCustomFormLink: async (customFormLink: Array<CustomFormLink>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'customFormLink' is not null or undefined
            assertParamExists('updateCustomFormLink', 'customFormLink', customFormLink)
            const localVarPath = `/customforms`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект услуги
         * @param {string} interagencyId Id межведа
         * @param {string} formType Тип формы: formRequest или formResponse
         * @param {Form} form Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateServiceLinks: async (interagencyId: string, formType: string, form: Form, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'interagencyId' is not null or undefined
            assertParamExists('updateServiceLinks', 'interagencyId', interagencyId)
            // verify required parameter 'formType' is not null or undefined
            assertParamExists('updateServiceLinks', 'formType', formType)
            // verify required parameter 'form' is not null or undefined
            assertParamExists('updateServiceLinks', 'form', form)
            const localVarPath = `/customforms/update`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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


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

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

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

/**
 * CustomFormLinkApi - functional programming interface
 * @export
 */
export const CustomFormLinkApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = CustomFormLinkApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<CustomFormLink>} customFormLink Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createCustomFormLink(customFormLink: Array<CustomFormLink>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createCustomFormLink(customFormLink, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteCustomFormLink(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteCustomFormLink(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchCustomFormLink(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<CustomFormLink>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchCustomFormLink(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<CustomFormLink>} customFormLink Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateCustomFormLink(customFormLink: Array<CustomFormLink>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateCustomFormLink(customFormLink, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект услуги
         * @param {string} interagencyId Id межведа
         * @param {string} formType Тип формы: formRequest или formResponse
         * @param {Form} form Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateServiceLinks(interagencyId: string, formType: string, form: Form, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateServiceLinks(interagencyId, formType, form, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * CustomFormLinkApi - factory interface
 * @export
 */
export const CustomFormLinkApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = CustomFormLinkApiFp(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<CustomFormLink>} customFormLink Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createCustomFormLink(customFormLink: Array<CustomFormLink>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createCustomFormLink(customFormLink, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteCustomFormLink(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteCustomFormLink(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchCustomFormLink(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<CustomFormLink>> {
            return localVarFp.searchCustomFormLink(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<CustomFormLink>} customFormLink Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateCustomFormLink(customFormLink: Array<CustomFormLink>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateCustomFormLink(customFormLink, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект услуги
         * @param {string} interagencyId Id межведа
         * @param {string} formType Тип формы: formRequest или formResponse
         * @param {Form} form Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateServiceLinks(interagencyId: string, formType: string, form: Form, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateServiceLinks(interagencyId, formType, form, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * CustomFormLinkApi - object-oriented interface
 * @export
 * @class CustomFormLinkApi
 * @extends {BaseAPI}
 */
export class CustomFormLinkApi extends BaseAPI {
    /**
     * 
     * @summary Создает новый объект
     * @param {Array<CustomFormLink>} customFormLink Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CustomFormLinkApi
     */
    public createCustomFormLink(customFormLink: Array<CustomFormLink>, options?: any) {
        return CustomFormLinkApiFp(this.configuration).createCustomFormLink(customFormLink, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CustomFormLinkApi
     */
    public deleteCustomFormLink(requestBody: Array<string>, options?: any) {
        return CustomFormLinkApiFp(this.configuration).deleteCustomFormLink(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CustomFormLinkApi
     */
    public searchCustomFormLink(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return CustomFormLinkApiFp(this.configuration).searchCustomFormLink(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<CustomFormLink>} customFormLink Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CustomFormLinkApi
     */
    public updateCustomFormLink(customFormLink: Array<CustomFormLink>, options?: any) {
        return CustomFormLinkApiFp(this.configuration).updateCustomFormLink(customFormLink, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект услуги
     * @param {string} interagencyId Id межведа
     * @param {string} formType Тип формы: formRequest или formResponse
     * @param {Form} form Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CustomFormLinkApi
     */
    public updateServiceLinks(interagencyId: string, formType: string, form: Form, options?: any) {
        return CustomFormLinkApiFp(this.configuration).updateServiceLinks(interagencyId, formType, form, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * DefaultInteragencyApi - axios parameter creator
 * @export
 */
export const DefaultInteragencyApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countInteragency: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/defaultinteragencies/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<DefaultInteragency>} defaultInteragency Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createDefaultInteragency: async (defaultInteragency: Array<DefaultInteragency>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'defaultInteragency' is not null or undefined
            assertParamExists('createDefaultInteragency', 'defaultInteragency', defaultInteragency)
            const localVarPath = `/defaultinteragencies`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdDefaultInteragency: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdDefaultInteragency', 'id', id)
            const localVarPath = `/defaultinteragencies/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteDefaultInteragency: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteDefaultInteragency', 'requestBody', requestBody)
            const localVarPath = `/defaultinteragencies`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDefaultInteragency: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getDefaultInteragency', 'id', id)
            const localVarPath = `/defaultinteragencies/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingDefaultInteragency: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/defaultinteragencies`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchDefaultInteragency: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/defaultinteragencies/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<DefaultInteragency>} defaultInteragency Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkDefaultInteragency: async (defaultInteragency: Array<DefaultInteragency>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'defaultInteragency' is not null or undefined
            assertParamExists('unlinkDefaultInteragency', 'defaultInteragency', defaultInteragency)
            const localVarPath = `/defaultinteragencies`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<DefaultInteragency>} defaultInteragency Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateDefaultInteragency: async (defaultInteragency: Array<DefaultInteragency>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'defaultInteragency' is not null or undefined
            assertParamExists('updateDefaultInteragency', 'defaultInteragency', defaultInteragency)
            const localVarPath = `/defaultinteragencies`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

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

/**
 * DefaultInteragencyApi - functional programming interface
 * @export
 */
export const DefaultInteragencyApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = DefaultInteragencyApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countInteragency(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countInteragency(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<DefaultInteragency>} defaultInteragency Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createDefaultInteragency(defaultInteragency: Array<DefaultInteragency>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createDefaultInteragency(defaultInteragency, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdDefaultInteragency(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdDefaultInteragency(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteDefaultInteragency(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteDefaultInteragency(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getDefaultInteragency(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DefaultInteragency>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getDefaultInteragency(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingDefaultInteragency(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfDefaultInteragency>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingDefaultInteragency(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchDefaultInteragency(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<DefaultInteragency>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchDefaultInteragency(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<DefaultInteragency>} defaultInteragency Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkDefaultInteragency(defaultInteragency: Array<DefaultInteragency>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkDefaultInteragency(defaultInteragency, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<DefaultInteragency>} defaultInteragency Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateDefaultInteragency(defaultInteragency: Array<DefaultInteragency>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateDefaultInteragency(defaultInteragency, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * DefaultInteragencyApi - factory interface
 * @export
 */
export const DefaultInteragencyApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = DefaultInteragencyApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countInteragency(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countInteragency(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<DefaultInteragency>} defaultInteragency Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createDefaultInteragency(defaultInteragency: Array<DefaultInteragency>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createDefaultInteragency(defaultInteragency, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdDefaultInteragency(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdDefaultInteragency(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteDefaultInteragency(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteDefaultInteragency(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDefaultInteragency(id: string, expand?: string, options?: any): AxiosPromise<DefaultInteragency> {
            return localVarFp.getDefaultInteragency(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingDefaultInteragency(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfDefaultInteragency> {
            return localVarFp.pagingDefaultInteragency(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchDefaultInteragency(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<DefaultInteragency>> {
            return localVarFp.searchDefaultInteragency(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<DefaultInteragency>} defaultInteragency Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkDefaultInteragency(defaultInteragency: Array<DefaultInteragency>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkDefaultInteragency(defaultInteragency, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<DefaultInteragency>} defaultInteragency Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateDefaultInteragency(defaultInteragency: Array<DefaultInteragency>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateDefaultInteragency(defaultInteragency, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * DefaultInteragencyApi - object-oriented interface
 * @export
 * @class DefaultInteragencyApi
 * @extends {BaseAPI}
 */
export class DefaultInteragencyApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultInteragencyApi
     */
    public countInteragency(query?: string, fulltext?: string, options?: any) {
        return DefaultInteragencyApiFp(this.configuration).countInteragency(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<DefaultInteragency>} defaultInteragency Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultInteragencyApi
     */
    public createDefaultInteragency(defaultInteragency: Array<DefaultInteragency>, options?: any) {
        return DefaultInteragencyApiFp(this.configuration).createDefaultInteragency(defaultInteragency, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultInteragencyApi
     */
    public deleteByIdDefaultInteragency(id: string, options?: any) {
        return DefaultInteragencyApiFp(this.configuration).deleteByIdDefaultInteragency(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultInteragencyApi
     */
    public deleteDefaultInteragency(requestBody: Array<string>, options?: any) {
        return DefaultInteragencyApiFp(this.configuration).deleteDefaultInteragency(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultInteragencyApi
     */
    public getDefaultInteragency(id: string, expand?: string, options?: any) {
        return DefaultInteragencyApiFp(this.configuration).getDefaultInteragency(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultInteragencyApi
     */
    public pagingDefaultInteragency(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return DefaultInteragencyApiFp(this.configuration).pagingDefaultInteragency(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultInteragencyApi
     */
    public searchDefaultInteragency(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return DefaultInteragencyApiFp(this.configuration).searchDefaultInteragency(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<DefaultInteragency>} defaultInteragency Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultInteragencyApi
     */
    public unlinkDefaultInteragency(defaultInteragency: Array<DefaultInteragency>, options?: any) {
        return DefaultInteragencyApiFp(this.configuration).unlinkDefaultInteragency(defaultInteragency, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<DefaultInteragency>} defaultInteragency Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultInteragencyApi
     */
    public updateDefaultInteragency(defaultInteragency: Array<DefaultInteragency>, options?: any) {
        return DefaultInteragencyApiFp(this.configuration).updateDefaultInteragency(defaultInteragency, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * DepartmentApi - axios parameter creator
 * @export
 */
export const DepartmentApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countDepartment: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/departments/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Department>} department Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createDepartment: async (department: Array<Department>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'department' is not null or undefined
            assertParamExists('createDepartment', 'department', department)
            const localVarPath = `/departments`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdDepartment: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdDepartment', 'id', id)
            const localVarPath = `/departments/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteDepartment: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteDepartment', 'requestBody', requestBody)
            const localVarPath = `/departments`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDepartment: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getDepartment', 'id', id)
            const localVarPath = `/departments/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingDepartment: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/departments`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchDepartment: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/departments/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Department>} department Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkDepartment: async (department: Array<Department>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'department' is not null or undefined
            assertParamExists('unlinkDepartment', 'department', department)
            const localVarPath = `/departments`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Department>} department Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateDepartment: async (department: Array<Department>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'department' is not null or undefined
            assertParamExists('updateDepartment', 'department', department)
            const localVarPath = `/departments`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

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

/**
 * DepartmentApi - functional programming interface
 * @export
 */
export const DepartmentApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = DepartmentApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countDepartment(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countDepartment(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Department>} department Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createDepartment(department: Array<Department>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createDepartment(department, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdDepartment(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdDepartment(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteDepartment(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteDepartment(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getDepartment(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Department>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getDepartment(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingDepartment(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfDepartment>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingDepartment(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchDepartment(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Department>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchDepartment(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Department>} department Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkDepartment(department: Array<Department>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkDepartment(department, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Department>} department Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateDepartment(department: Array<Department>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateDepartment(department, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * DepartmentApi - factory interface
 * @export
 */
export const DepartmentApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = DepartmentApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countDepartment(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countDepartment(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Department>} department Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createDepartment(department: Array<Department>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createDepartment(department, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdDepartment(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdDepartment(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteDepartment(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteDepartment(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDepartment(id: string, expand?: string, options?: any): AxiosPromise<Department> {
            return localVarFp.getDepartment(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingDepartment(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfDepartment> {
            return localVarFp.pagingDepartment(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchDepartment(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<Department>> {
            return localVarFp.searchDepartment(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Department>} department Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkDepartment(department: Array<Department>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkDepartment(department, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Department>} department Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateDepartment(department: Array<Department>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateDepartment(department, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * DepartmentApi - object-oriented interface
 * @export
 * @class DepartmentApi
 * @extends {BaseAPI}
 */
export class DepartmentApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DepartmentApi
     */
    public countDepartment(query?: string, fulltext?: string, options?: any) {
        return DepartmentApiFp(this.configuration).countDepartment(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<Department>} department Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DepartmentApi
     */
    public createDepartment(department: Array<Department>, options?: any) {
        return DepartmentApiFp(this.configuration).createDepartment(department, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DepartmentApi
     */
    public deleteByIdDepartment(id: string, options?: any) {
        return DepartmentApiFp(this.configuration).deleteByIdDepartment(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DepartmentApi
     */
    public deleteDepartment(requestBody: Array<string>, options?: any) {
        return DepartmentApiFp(this.configuration).deleteDepartment(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DepartmentApi
     */
    public getDepartment(id: string, expand?: string, options?: any) {
        return DepartmentApiFp(this.configuration).getDepartment(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DepartmentApi
     */
    public pagingDepartment(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return DepartmentApiFp(this.configuration).pagingDepartment(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DepartmentApi
     */
    public searchDepartment(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return DepartmentApiFp(this.configuration).searchDepartment(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<Department>} department Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DepartmentApi
     */
    public unlinkDepartment(department: Array<Department>, options?: any) {
        return DepartmentApiFp(this.configuration).unlinkDepartment(department, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<Department>} department Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DepartmentApi
     */
    public updateDepartment(department: Array<Department>, options?: any) {
        return DepartmentApiFp(this.configuration).updateDepartment(department, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * DictionaryApi - axios parameter creator
 * @export
 */
export const DictionaryApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countDictionary: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/dictionaries/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Dictionary>} dictionary Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createDictionary: async (dictionary: Array<Dictionary>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'dictionary' is not null or undefined
            assertParamExists('createDictionary', 'dictionary', dictionary)
            const localVarPath = `/dictionaries`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdDictionary: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdDictionary', 'id', id)
            const localVarPath = `/dictionaries/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteDictionary: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteDictionary', 'requestBody', requestBody)
            const localVarPath = `/dictionaries`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDictionary: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getDictionary', 'id', id)
            const localVarPath = `/dictionaries/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} code 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDictionaryByCode: async (code: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'code' is not null or undefined
            assertParamExists('getDictionaryByCode', 'code', code)
            const localVarPath = `/dictionaries/code/{code}`
                .replace(`{${"code"}}`, encodeURIComponent(String(code)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingDictionary: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/dictionaries`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchDictionary: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/dictionaries/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Dictionary>} dictionary Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkDictionary: async (dictionary: Array<Dictionary>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'dictionary' is not null or undefined
            assertParamExists('unlinkDictionary', 'dictionary', dictionary)
            const localVarPath = `/dictionaries`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Dictionary>} dictionary Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateDictionary: async (dictionary: Array<Dictionary>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'dictionary' is not null or undefined
            assertParamExists('updateDictionary', 'dictionary', dictionary)
            const localVarPath = `/dictionaries`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

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

/**
 * DictionaryApi - functional programming interface
 * @export
 */
export const DictionaryApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = DictionaryApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countDictionary(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countDictionary(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Dictionary>} dictionary Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createDictionary(dictionary: Array<Dictionary>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createDictionary(dictionary, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdDictionary(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdDictionary(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteDictionary(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteDictionary(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getDictionary(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Dictionary>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getDictionary(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} code 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getDictionaryByCode(code: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Dictionary>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getDictionaryByCode(code, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingDictionary(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfDictionary>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingDictionary(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchDictionary(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Dictionary>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchDictionary(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Dictionary>} dictionary Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkDictionary(dictionary: Array<Dictionary>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkDictionary(dictionary, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Dictionary>} dictionary Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateDictionary(dictionary: Array<Dictionary>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateDictionary(dictionary, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * DictionaryApi - factory interface
 * @export
 */
export const DictionaryApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = DictionaryApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countDictionary(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countDictionary(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Dictionary>} dictionary Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createDictionary(dictionary: Array<Dictionary>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createDictionary(dictionary, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdDictionary(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdDictionary(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteDictionary(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteDictionary(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDictionary(id: string, expand?: string, options?: any): AxiosPromise<Dictionary> {
            return localVarFp.getDictionary(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} code 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDictionaryByCode(code: string, expand?: string, options?: any): AxiosPromise<Dictionary> {
            return localVarFp.getDictionaryByCode(code, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingDictionary(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfDictionary> {
            return localVarFp.pagingDictionary(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchDictionary(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<Dictionary>> {
            return localVarFp.searchDictionary(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Dictionary>} dictionary Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkDictionary(dictionary: Array<Dictionary>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkDictionary(dictionary, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Dictionary>} dictionary Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateDictionary(dictionary: Array<Dictionary>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateDictionary(dictionary, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * DictionaryApi - object-oriented interface
 * @export
 * @class DictionaryApi
 * @extends {BaseAPI}
 */
export class DictionaryApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DictionaryApi
     */
    public countDictionary(query?: string, fulltext?: string, options?: any) {
        return DictionaryApiFp(this.configuration).countDictionary(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<Dictionary>} dictionary Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DictionaryApi
     */
    public createDictionary(dictionary: Array<Dictionary>, options?: any) {
        return DictionaryApiFp(this.configuration).createDictionary(dictionary, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DictionaryApi
     */
    public deleteByIdDictionary(id: string, options?: any) {
        return DictionaryApiFp(this.configuration).deleteByIdDictionary(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DictionaryApi
     */
    public deleteDictionary(requestBody: Array<string>, options?: any) {
        return DictionaryApiFp(this.configuration).deleteDictionary(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DictionaryApi
     */
    public getDictionary(id: string, expand?: string, options?: any) {
        return DictionaryApiFp(this.configuration).getDictionary(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} code 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DictionaryApi
     */
    public getDictionaryByCode(code: string, expand?: string, options?: any) {
        return DictionaryApiFp(this.configuration).getDictionaryByCode(code, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DictionaryApi
     */
    public pagingDictionary(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return DictionaryApiFp(this.configuration).pagingDictionary(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DictionaryApi
     */
    public searchDictionary(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return DictionaryApiFp(this.configuration).searchDictionary(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<Dictionary>} dictionary Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DictionaryApi
     */
    public unlinkDictionary(dictionary: Array<Dictionary>, options?: any) {
        return DictionaryApiFp(this.configuration).unlinkDictionary(dictionary, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<Dictionary>} dictionary Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DictionaryApi
     */
    public updateDictionary(dictionary: Array<Dictionary>, options?: any) {
        return DictionaryApiFp(this.configuration).updateDictionary(dictionary, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * DigitalReglamentApi - axios parameter creator
 * @export
 */
export const DigitalReglamentApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countDigitalReglament: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/digitalreglaments/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<DigitalReglament>} digitalReglament Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createDigitalReglament: async (digitalReglament: Array<DigitalReglament>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'digitalReglament' is not null or undefined
            assertParamExists('createDigitalReglament', 'digitalReglament', digitalReglament)
            const localVarPath = `/digitalreglaments`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdDigitalReglament: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdDigitalReglament', 'id', id)
            const localVarPath = `/digitalreglaments/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteDigitalReglament: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteDigitalReglament', 'requestBody', requestBody)
            const localVarPath = `/digitalreglaments`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDigitalReglament: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getDigitalReglament', 'id', id)
            const localVarPath = `/digitalreglaments/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Импорт файла цифрового регламента
         * @param {string} [authorization] Авторизация
         * @param {string} [code] 
         * @param {string} [name] 
         * @param {Array<any>} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        importReglament: async (authorization?: string, code?: string, name?: string, files?: Array<any>, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/digitalreglaments/import`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

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

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

            if (files) {
                files.forEach((element) => {
                    localVarFormParams.append('files', element as any);
                })
            }

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingDigitalReglament: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/digitalreglaments`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchDigitalReglament: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/digitalreglaments/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<DigitalReglament>} digitalReglament Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkDigitalReglament: async (digitalReglament: Array<DigitalReglament>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'digitalReglament' is not null or undefined
            assertParamExists('unlinkDigitalReglament', 'digitalReglament', digitalReglament)
            const localVarPath = `/digitalreglaments`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<DigitalReglament>} digitalReglament Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateDigitalReglament: async (digitalReglament: Array<DigitalReglament>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'digitalReglament' is not null or undefined
            assertParamExists('updateDigitalReglament', 'digitalReglament', digitalReglament)
            const localVarPath = `/digitalreglaments`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

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

/**
 * DigitalReglamentApi - functional programming interface
 * @export
 */
export const DigitalReglamentApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = DigitalReglamentApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countDigitalReglament(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countDigitalReglament(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<DigitalReglament>} digitalReglament Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createDigitalReglament(digitalReglament: Array<DigitalReglament>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createDigitalReglament(digitalReglament, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdDigitalReglament(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdDigitalReglament(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteDigitalReglament(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteDigitalReglament(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getDigitalReglament(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DigitalReglament>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getDigitalReglament(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Импорт файла цифрового регламента
         * @param {string} [authorization] Авторизация
         * @param {string} [code] 
         * @param {string} [name] 
         * @param {Array<any>} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async importReglament(authorization?: string, code?: string, name?: string, files?: Array<any>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ImportResult>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.importReglament(authorization, code, name, files, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingDigitalReglament(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfDigitalReglament>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingDigitalReglament(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchDigitalReglament(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<DigitalReglament>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchDigitalReglament(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<DigitalReglament>} digitalReglament Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkDigitalReglament(digitalReglament: Array<DigitalReglament>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkDigitalReglament(digitalReglament, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<DigitalReglament>} digitalReglament Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateDigitalReglament(digitalReglament: Array<DigitalReglament>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateDigitalReglament(digitalReglament, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * DigitalReglamentApi - factory interface
 * @export
 */
export const DigitalReglamentApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = DigitalReglamentApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countDigitalReglament(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countDigitalReglament(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<DigitalReglament>} digitalReglament Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createDigitalReglament(digitalReglament: Array<DigitalReglament>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createDigitalReglament(digitalReglament, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdDigitalReglament(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdDigitalReglament(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteDigitalReglament(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteDigitalReglament(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDigitalReglament(id: string, expand?: string, options?: any): AxiosPromise<DigitalReglament> {
            return localVarFp.getDigitalReglament(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Импорт файла цифрового регламента
         * @param {string} [authorization] Авторизация
         * @param {string} [code] 
         * @param {string} [name] 
         * @param {Array<any>} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        importReglament(authorization?: string, code?: string, name?: string, files?: Array<any>, options?: any): AxiosPromise<ImportResult> {
            return localVarFp.importReglament(authorization, code, name, files, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingDigitalReglament(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfDigitalReglament> {
            return localVarFp.pagingDigitalReglament(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchDigitalReglament(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<DigitalReglament>> {
            return localVarFp.searchDigitalReglament(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<DigitalReglament>} digitalReglament Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkDigitalReglament(digitalReglament: Array<DigitalReglament>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkDigitalReglament(digitalReglament, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<DigitalReglament>} digitalReglament Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateDigitalReglament(digitalReglament: Array<DigitalReglament>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateDigitalReglament(digitalReglament, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * DigitalReglamentApi - object-oriented interface
 * @export
 * @class DigitalReglamentApi
 * @extends {BaseAPI}
 */
export class DigitalReglamentApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentApi
     */
    public countDigitalReglament(query?: string, fulltext?: string, options?: any) {
        return DigitalReglamentApiFp(this.configuration).countDigitalReglament(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<DigitalReglament>} digitalReglament Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentApi
     */
    public createDigitalReglament(digitalReglament: Array<DigitalReglament>, options?: any) {
        return DigitalReglamentApiFp(this.configuration).createDigitalReglament(digitalReglament, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentApi
     */
    public deleteByIdDigitalReglament(id: string, options?: any) {
        return DigitalReglamentApiFp(this.configuration).deleteByIdDigitalReglament(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentApi
     */
    public deleteDigitalReglament(requestBody: Array<string>, options?: any) {
        return DigitalReglamentApiFp(this.configuration).deleteDigitalReglament(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentApi
     */
    public getDigitalReglament(id: string, expand?: string, options?: any) {
        return DigitalReglamentApiFp(this.configuration).getDigitalReglament(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Импорт файла цифрового регламента
     * @param {string} [authorization] Авторизация
     * @param {string} [code] 
     * @param {string} [name] 
     * @param {Array<any>} [files] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentApi
     */
    public importReglament(authorization?: string, code?: string, name?: string, files?: Array<any>, options?: any) {
        return DigitalReglamentApiFp(this.configuration).importReglament(authorization, code, name, files, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentApi
     */
    public pagingDigitalReglament(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return DigitalReglamentApiFp(this.configuration).pagingDigitalReglament(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentApi
     */
    public searchDigitalReglament(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return DigitalReglamentApiFp(this.configuration).searchDigitalReglament(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<DigitalReglament>} digitalReglament Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentApi
     */
    public unlinkDigitalReglament(digitalReglament: Array<DigitalReglament>, options?: any) {
        return DigitalReglamentApiFp(this.configuration).unlinkDigitalReglament(digitalReglament, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<DigitalReglament>} digitalReglament Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentApi
     */
    public updateDigitalReglament(digitalReglament: Array<DigitalReglament>, options?: any) {
        return DigitalReglamentApiFp(this.configuration).updateDigitalReglament(digitalReglament, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * DigitalReglamentProcessApi - axios parameter creator
 * @export
 */
export const DigitalReglamentProcessApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countDigitalReglamentProcess: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/digitalreglamentprocesses/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<DigitalReglamentProcess>} digitalReglamentProcess Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createDigitalReglamentProcess: async (digitalReglamentProcess: Array<DigitalReglamentProcess>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'digitalReglamentProcess' is not null or undefined
            assertParamExists('createDigitalReglamentProcess', 'digitalReglamentProcess', digitalReglamentProcess)
            const localVarPath = `/digitalreglamentprocesses`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdDigitalReglamentProcess: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdDigitalReglamentProcess', 'id', id)
            const localVarPath = `/digitalreglamentprocesses/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteDigitalReglamentProcess: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteDigitalReglamentProcess', 'requestBody', requestBody)
            const localVarPath = `/digitalreglamentprocesses`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDigitalReglamentProcess: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getDigitalReglamentProcess', 'id', id)
            const localVarPath = `/digitalreglamentprocesses/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingDigitalReglamentProcess: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/digitalreglamentprocesses`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchDigitalReglamentProcess: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/digitalreglamentprocesses/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<DigitalReglamentProcess>} digitalReglamentProcess Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkDigitalReglamentProcess: async (digitalReglamentProcess: Array<DigitalReglamentProcess>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'digitalReglamentProcess' is not null or undefined
            assertParamExists('unlinkDigitalReglamentProcess', 'digitalReglamentProcess', digitalReglamentProcess)
            const localVarPath = `/digitalreglamentprocesses`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<DigitalReglamentProcess>} digitalReglamentProcess Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateDigitalReglamentProcess: async (digitalReglamentProcess: Array<DigitalReglamentProcess>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'digitalReglamentProcess' is not null or undefined
            assertParamExists('updateDigitalReglamentProcess', 'digitalReglamentProcess', digitalReglamentProcess)
            const localVarPath = `/digitalreglamentprocesses`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

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

/**
 * DigitalReglamentProcessApi - functional programming interface
 * @export
 */
export const DigitalReglamentProcessApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = DigitalReglamentProcessApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countDigitalReglamentProcess(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countDigitalReglamentProcess(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<DigitalReglamentProcess>} digitalReglamentProcess Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createDigitalReglamentProcess(digitalReglamentProcess: Array<DigitalReglamentProcess>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createDigitalReglamentProcess(digitalReglamentProcess, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdDigitalReglamentProcess(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdDigitalReglamentProcess(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteDigitalReglamentProcess(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteDigitalReglamentProcess(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getDigitalReglamentProcess(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DigitalReglamentProcess>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getDigitalReglamentProcess(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingDigitalReglamentProcess(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfDigitalReglamentProcess>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingDigitalReglamentProcess(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchDigitalReglamentProcess(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<DigitalReglamentProcess>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchDigitalReglamentProcess(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<DigitalReglamentProcess>} digitalReglamentProcess Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkDigitalReglamentProcess(digitalReglamentProcess: Array<DigitalReglamentProcess>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkDigitalReglamentProcess(digitalReglamentProcess, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<DigitalReglamentProcess>} digitalReglamentProcess Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateDigitalReglamentProcess(digitalReglamentProcess: Array<DigitalReglamentProcess>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateDigitalReglamentProcess(digitalReglamentProcess, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * DigitalReglamentProcessApi - factory interface
 * @export
 */
export const DigitalReglamentProcessApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = DigitalReglamentProcessApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countDigitalReglamentProcess(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countDigitalReglamentProcess(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<DigitalReglamentProcess>} digitalReglamentProcess Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createDigitalReglamentProcess(digitalReglamentProcess: Array<DigitalReglamentProcess>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createDigitalReglamentProcess(digitalReglamentProcess, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdDigitalReglamentProcess(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdDigitalReglamentProcess(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteDigitalReglamentProcess(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteDigitalReglamentProcess(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDigitalReglamentProcess(id: string, expand?: string, options?: any): AxiosPromise<DigitalReglamentProcess> {
            return localVarFp.getDigitalReglamentProcess(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingDigitalReglamentProcess(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfDigitalReglamentProcess> {
            return localVarFp.pagingDigitalReglamentProcess(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchDigitalReglamentProcess(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<DigitalReglamentProcess>> {
            return localVarFp.searchDigitalReglamentProcess(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<DigitalReglamentProcess>} digitalReglamentProcess Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkDigitalReglamentProcess(digitalReglamentProcess: Array<DigitalReglamentProcess>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkDigitalReglamentProcess(digitalReglamentProcess, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<DigitalReglamentProcess>} digitalReglamentProcess Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateDigitalReglamentProcess(digitalReglamentProcess: Array<DigitalReglamentProcess>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateDigitalReglamentProcess(digitalReglamentProcess, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * DigitalReglamentProcessApi - object-oriented interface
 * @export
 * @class DigitalReglamentProcessApi
 * @extends {BaseAPI}
 */
export class DigitalReglamentProcessApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentProcessApi
     */
    public countDigitalReglamentProcess(query?: string, fulltext?: string, options?: any) {
        return DigitalReglamentProcessApiFp(this.configuration).countDigitalReglamentProcess(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<DigitalReglamentProcess>} digitalReglamentProcess Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentProcessApi
     */
    public createDigitalReglamentProcess(digitalReglamentProcess: Array<DigitalReglamentProcess>, options?: any) {
        return DigitalReglamentProcessApiFp(this.configuration).createDigitalReglamentProcess(digitalReglamentProcess, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentProcessApi
     */
    public deleteByIdDigitalReglamentProcess(id: string, options?: any) {
        return DigitalReglamentProcessApiFp(this.configuration).deleteByIdDigitalReglamentProcess(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentProcessApi
     */
    public deleteDigitalReglamentProcess(requestBody: Array<string>, options?: any) {
        return DigitalReglamentProcessApiFp(this.configuration).deleteDigitalReglamentProcess(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentProcessApi
     */
    public getDigitalReglamentProcess(id: string, expand?: string, options?: any) {
        return DigitalReglamentProcessApiFp(this.configuration).getDigitalReglamentProcess(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentProcessApi
     */
    public pagingDigitalReglamentProcess(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return DigitalReglamentProcessApiFp(this.configuration).pagingDigitalReglamentProcess(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentProcessApi
     */
    public searchDigitalReglamentProcess(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return DigitalReglamentProcessApiFp(this.configuration).searchDigitalReglamentProcess(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<DigitalReglamentProcess>} digitalReglamentProcess Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentProcessApi
     */
    public unlinkDigitalReglamentProcess(digitalReglamentProcess: Array<DigitalReglamentProcess>, options?: any) {
        return DigitalReglamentProcessApiFp(this.configuration).unlinkDigitalReglamentProcess(digitalReglamentProcess, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<DigitalReglamentProcess>} digitalReglamentProcess Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DigitalReglamentProcessApi
     */
    public updateDigitalReglamentProcess(digitalReglamentProcess: Array<DigitalReglamentProcess>, options?: any) {
        return DigitalReglamentProcessApiFp(this.configuration).updateDigitalReglamentProcess(digitalReglamentProcess, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * DocumentApi - axios parameter creator
 * @export
 */
export const DocumentApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество документов
         * @param {string} schema Название схемы документа
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob), работает в всегда в связке И с fulltext
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки (пример name&#x3D;search&#x3D;Иван), работает в всегда в связке И с query
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countDocuments: async (schema: string, query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('countDocuments', 'schema', schema)
            const localVarPath = `/document/{schema}/count`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

            // authentication registryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryAuth", [], configuration)

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

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


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

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

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

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

            // authentication registryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} schema Название схемы документа
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdDocument: async (schema: string, id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('deleteByIdDocument', 'schema', schema)
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdDocument', 'id', id)
            const localVarPath = `/document/{schema}/{id}`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)))
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

            // authentication registryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryAuth", [], configuration)


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

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

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

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

            // authentication registryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает документ по его идентификатору
         * @param {string} schema Название схемы документа
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDocument: async (schema: string, id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('getDocument', 'schema', schema)
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getDocument', 'id', id)
            const localVarPath = `/document/{schema}/{id}`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)))
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

            // authentication registryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список документов. Разбиение на страницы производиться по 10 записей на страницу (задаётся параметрами запроса) и сортировкой (задаётся параметрами запроса).
         * @summary Возвращает постраничный список документов
         * @param {string} schema Название схемы документа
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob), работает в всегда в связке И с fulltext
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки (пример name&#x3D;search&#x3D;Иван), работает в всегда в связке И с query
         * @param {string} [sort] Параметры сортировки (пример: -modified в порядке DESC, +modified в порядке ASC, можно N полей через запятую)
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingDocuments: async (schema: string, page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('pagingDocuments', 'schema', schema)
            const localVarPath = `/document/{schema}`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

            // authentication registryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryAuth", [], configuration)

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список всех документов без пейджинга.
         * @summary Возвращает список всех документов
         * @param {string} schema Название схемы документа
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob), работает в всегда в связке И с fulltext
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки (пример name&#x3D;search&#x3D;Иван), работает в всегда в связке И с query
         * @param {string} [sort] Параметры сортировки (пример: -modified в порядке DESC, +modified в порядке ASC, можно N полей через запятую)
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchDocuments: async (schema: string, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('searchDocuments', 'schema', schema)
            const localVarPath = `/document/{schema}/all`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

            // authentication registryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {string} schema Название схемы документа
         * @param {Array<Document>} document Объект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkDocument: async (schema: string, document: Array<Document>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('unlinkDocument', 'schema', schema)
            // verify required parameter 'document' is not null or undefined
            assertParamExists('unlinkDocument', 'document', document)
            const localVarPath = `/document/{schema}`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

            // authentication registryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {string} schema Название схемы документа
         * @param {Array<Document>} document Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateDocument: async (schema: string, document: Array<Document>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('updateDocument', 'schema', schema)
            // verify required parameter 'document' is not null or undefined
            assertParamExists('updateDocument', 'document', document)
            const localVarPath = `/document/{schema}`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

            // authentication registryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryAuth", [], configuration)


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

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

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

/**
 * DocumentApi - functional programming interface
 * @export
 */
export const DocumentApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = DocumentApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество документов
         * @param {string} schema Название схемы документа
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob), работает в всегда в связке И с fulltext
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки (пример name&#x3D;search&#x3D;Иван), работает в всегда в связке И с query
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countDocuments(schema: string, query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countDocuments(schema, query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {string} schema Название схемы документа
         * @param {Array<Document>} document Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createDocument(schema: string, document: Array<Document>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createDocument(schema, document, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} schema Название схемы документа
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdDocument(schema: string, id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdDocument(schema, id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет документы по идентификаторам
         * @param {string} schema Название схемы документа
         * @param {Array<string>} requestBody ID документов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteDocument(schema: string, requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteDocument(schema, requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает документ по его идентификатору
         * @param {string} schema Название схемы документа
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getDocument(schema: string, id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Document>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getDocument(schema, id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список документов. Разбиение на страницы производиться по 10 записей на страницу (задаётся параметрами запроса) и сортировкой (задаётся параметрами запроса).
         * @summary Возвращает постраничный список документов
         * @param {string} schema Название схемы документа
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob), работает в всегда в связке И с fulltext
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки (пример name&#x3D;search&#x3D;Иван), работает в всегда в связке И с query
         * @param {string} [sort] Параметры сортировки (пример: -modified в порядке DESC, +modified в порядке ASC, можно N полей через запятую)
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingDocuments(schema: string, page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Page>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingDocuments(schema, page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список всех документов без пейджинга.
         * @summary Возвращает список всех документов
         * @param {string} schema Название схемы документа
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob), работает в всегда в связке И с fulltext
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки (пример name&#x3D;search&#x3D;Иван), работает в всегда в связке И с query
         * @param {string} [sort] Параметры сортировки (пример: -modified в порядке DESC, +modified в порядке ASC, можно N полей через запятую)
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchDocuments(schema: string, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Document>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchDocuments(schema, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {string} schema Название схемы документа
         * @param {Array<Document>} document Объект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkDocument(schema: string, document: Array<Document>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkDocument(schema, document, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {string} schema Название схемы документа
         * @param {Array<Document>} document Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateDocument(schema: string, document: Array<Document>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateDocument(schema, document, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * DocumentApi - factory interface
 * @export
 */
export const DocumentApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = DocumentApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество документов
         * @param {string} schema Название схемы документа
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob), работает в всегда в связке И с fulltext
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки (пример name&#x3D;search&#x3D;Иван), работает в всегда в связке И с query
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countDocuments(schema: string, query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countDocuments(schema, query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {string} schema Название схемы документа
         * @param {Array<Document>} document Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createDocument(schema: string, document: Array<Document>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createDocument(schema, document, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} schema Название схемы документа
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdDocument(schema: string, id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdDocument(schema, id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет документы по идентификаторам
         * @param {string} schema Название схемы документа
         * @param {Array<string>} requestBody ID документов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteDocument(schema: string, requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteDocument(schema, requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает документ по его идентификатору
         * @param {string} schema Название схемы документа
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDocument(schema: string, id: string, expand?: string, options?: any): AxiosPromise<Document> {
            return localVarFp.getDocument(schema, id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список документов. Разбиение на страницы производиться по 10 записей на страницу (задаётся параметрами запроса) и сортировкой (задаётся параметрами запроса).
         * @summary Возвращает постраничный список документов
         * @param {string} schema Название схемы документа
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob), работает в всегда в связке И с fulltext
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки (пример name&#x3D;search&#x3D;Иван), работает в всегда в связке И с query
         * @param {string} [sort] Параметры сортировки (пример: -modified в порядке DESC, +modified в порядке ASC, можно N полей через запятую)
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingDocuments(schema: string, page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Page> {
            return localVarFp.pagingDocuments(schema, page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список всех документов без пейджинга.
         * @summary Возвращает список всех документов
         * @param {string} schema Название схемы документа
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob), работает в всегда в связке И с fulltext
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки (пример name&#x3D;search&#x3D;Иван), работает в всегда в связке И с query
         * @param {string} [sort] Параметры сортировки (пример: -modified в порядке DESC, +modified в порядке ASC, можно N полей через запятую)
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchDocuments(schema: string, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<Document>> {
            return localVarFp.searchDocuments(schema, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {string} schema Название схемы документа
         * @param {Array<Document>} document Объект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkDocument(schema: string, document: Array<Document>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkDocument(schema, document, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {string} schema Название схемы документа
         * @param {Array<Document>} document Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateDocument(schema: string, document: Array<Document>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateDocument(schema, document, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * DocumentApi - object-oriented interface
 * @export
 * @class DocumentApi
 * @extends {BaseAPI}
 */
export class DocumentApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество документов
     * @param {string} schema Название схемы документа
     * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob), работает в всегда в связке И с fulltext
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки (пример name&#x3D;search&#x3D;Иван), работает в всегда в связке И с query
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DocumentApi
     */
    public countDocuments(schema: string, query?: string, fulltext?: string, options?: any) {
        return DocumentApiFp(this.configuration).countDocuments(schema, query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {string} schema Название схемы документа
     * @param {Array<Document>} document Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DocumentApi
     */
    public createDocument(schema: string, document: Array<Document>, options?: any) {
        return DocumentApiFp(this.configuration).createDocument(schema, document, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} schema Название схемы документа
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DocumentApi
     */
    public deleteByIdDocument(schema: string, id: string, options?: any) {
        return DocumentApiFp(this.configuration).deleteByIdDocument(schema, id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет документы по идентификаторам
     * @param {string} schema Название схемы документа
     * @param {Array<string>} requestBody ID документов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DocumentApi
     */
    public deleteDocument(schema: string, requestBody: Array<string>, options?: any) {
        return DocumentApiFp(this.configuration).deleteDocument(schema, requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает документ по его идентификатору
     * @param {string} schema Название схемы документа
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DocumentApi
     */
    public getDocument(schema: string, id: string, expand?: string, options?: any) {
        return DocumentApiFp(this.configuration).getDocument(schema, id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список документов. Разбиение на страницы производиться по 10 записей на страницу (задаётся параметрами запроса) и сортировкой (задаётся параметрами запроса).
     * @summary Возвращает постраничный список документов
     * @param {string} schema Название схемы документа
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob), работает в всегда в связке И с fulltext
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки (пример name&#x3D;search&#x3D;Иван), работает в всегда в связке И с query
     * @param {string} [sort] Параметры сортировки (пример: -modified в порядке DESC, +modified в порядке ASC, можно N полей через запятую)
     * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DocumentApi
     */
    public pagingDocuments(schema: string, page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return DocumentApiFp(this.configuration).pagingDocuments(schema, page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список всех документов без пейджинга.
     * @summary Возвращает список всех документов
     * @param {string} schema Название схемы документа
     * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob), работает в всегда в связке И с fulltext
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки (пример name&#x3D;search&#x3D;Иван), работает в всегда в связке И с query
     * @param {string} [sort] Параметры сортировки (пример: -modified в порядке DESC, +modified в порядке ASC, можно N полей через запятую)
     * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DocumentApi
     */
    public searchDocuments(schema: string, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return DocumentApiFp(this.configuration).searchDocuments(schema, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {string} schema Название схемы документа
     * @param {Array<Document>} document Объект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DocumentApi
     */
    public unlinkDocument(schema: string, document: Array<Document>, options?: any) {
        return DocumentApiFp(this.configuration).unlinkDocument(schema, document, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {string} schema Название схемы документа
     * @param {Array<Document>} document Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DocumentApi
     */
    public updateDocument(schema: string, document: Array<Document>, options?: any) {
        return DocumentApiFp(this.configuration).updateDocument(schema, document, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * FaceToFaceMOdelApi - axios parameter creator
 * @export
 */
export const FaceToFaceMOdelApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<FaceToFaceModel>} faceToFaceModel Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateFaceToFaceModel: async (faceToFaceModel: Array<FaceToFaceModel>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'faceToFaceModel' is not null or undefined
            assertParamExists('updateFaceToFaceModel', 'faceToFaceModel', faceToFaceModel)
            const localVarPath = `/face-to-face/reception`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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


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

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

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

/**
 * FaceToFaceMOdelApi - functional programming interface
 * @export
 */
export const FaceToFaceMOdelApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = FaceToFaceMOdelApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<FaceToFaceModel>} faceToFaceModel Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateFaceToFaceModel(faceToFaceModel: Array<FaceToFaceModel>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateFaceToFaceModel(faceToFaceModel, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * FaceToFaceMOdelApi - factory interface
 * @export
 */
export const FaceToFaceMOdelApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = FaceToFaceMOdelApiFp(configuration)
    return {
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<FaceToFaceModel>} faceToFaceModel Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateFaceToFaceModel(faceToFaceModel: Array<FaceToFaceModel>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateFaceToFaceModel(faceToFaceModel, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * FaceToFaceMOdelApi - object-oriented interface
 * @export
 * @class FaceToFaceMOdelApi
 * @extends {BaseAPI}
 */
export class FaceToFaceMOdelApi extends BaseAPI {
    /**
     * 
     * @summary Изменяет объект
     * @param {Array<FaceToFaceModel>} faceToFaceModel Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FaceToFaceMOdelApi
     */
    public updateFaceToFaceModel(faceToFaceModel: Array<FaceToFaceModel>, options?: any) {
        return FaceToFaceMOdelApiFp(this.configuration).updateFaceToFaceModel(faceToFaceModel, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * FaceToFaceModelApi - axios parameter creator
 * @export
 */
export const FaceToFaceModelApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countFaceTOFaceModel: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/face-to-face/reception/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<FaceToFaceModel>} faceToFaceModel Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createFaceToFaceModel: async (faceToFaceModel: Array<FaceToFaceModel>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'faceToFaceModel' is not null or undefined
            assertParamExists('createFaceToFaceModel', 'faceToFaceModel', faceToFaceModel)
            const localVarPath = `/face-to-face/reception`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdFaceToFaceModel: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdFaceToFaceModel', 'id', id)
            const localVarPath = `/face-to-face/reception/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getFaceToFaceModel: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getFaceToFaceModel', 'id', id)
            const localVarPath = `/face-to-face/reception/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingFaceToFaceModel: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/face-to-face/reception`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchFaceToFaceMode: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/face-to-face/reception/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<FaceToFaceModel>} faceToFaceModel Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkFaceTOFaceModel: async (faceToFaceModel: Array<FaceToFaceModel>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'faceToFaceModel' is not null or undefined
            assertParamExists('unlinkFaceTOFaceModel', 'faceToFaceModel', faceToFaceModel)
            const localVarPath = `/face-to-face/reception`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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


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

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

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

/**
 * FaceToFaceModelApi - functional programming interface
 * @export
 */
export const FaceToFaceModelApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = FaceToFaceModelApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countFaceTOFaceModel(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countFaceTOFaceModel(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<FaceToFaceModel>} faceToFaceModel Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createFaceToFaceModel(faceToFaceModel: Array<FaceToFaceModel>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createFaceToFaceModel(faceToFaceModel, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdFaceToFaceModel(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdFaceToFaceModel(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getFaceToFaceModel(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<FaceToFaceModel>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getFaceToFaceModel(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingFaceToFaceModel(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfFaceToFaceModel>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingFaceToFaceModel(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchFaceToFaceMode(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<FaceToFaceModel>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchFaceToFaceMode(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<FaceToFaceModel>} faceToFaceModel Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkFaceTOFaceModel(faceToFaceModel: Array<FaceToFaceModel>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkFaceTOFaceModel(faceToFaceModel, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * FaceToFaceModelApi - factory interface
 * @export
 */
export const FaceToFaceModelApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = FaceToFaceModelApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countFaceTOFaceModel(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countFaceTOFaceModel(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<FaceToFaceModel>} faceToFaceModel Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createFaceToFaceModel(faceToFaceModel: Array<FaceToFaceModel>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createFaceToFaceModel(faceToFaceModel, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdFaceToFaceModel(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdFaceToFaceModel(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getFaceToFaceModel(id: string, expand?: string, options?: any): AxiosPromise<FaceToFaceModel> {
            return localVarFp.getFaceToFaceModel(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingFaceToFaceModel(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfFaceToFaceModel> {
            return localVarFp.pagingFaceToFaceModel(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchFaceToFaceMode(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<FaceToFaceModel>> {
            return localVarFp.searchFaceToFaceMode(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<FaceToFaceModel>} faceToFaceModel Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkFaceTOFaceModel(faceToFaceModel: Array<FaceToFaceModel>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkFaceTOFaceModel(faceToFaceModel, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * FaceToFaceModelApi - object-oriented interface
 * @export
 * @class FaceToFaceModelApi
 * @extends {BaseAPI}
 */
export class FaceToFaceModelApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FaceToFaceModelApi
     */
    public countFaceTOFaceModel(query?: string, fulltext?: string, options?: any) {
        return FaceToFaceModelApiFp(this.configuration).countFaceTOFaceModel(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<FaceToFaceModel>} faceToFaceModel Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FaceToFaceModelApi
     */
    public createFaceToFaceModel(faceToFaceModel: Array<FaceToFaceModel>, options?: any) {
        return FaceToFaceModelApiFp(this.configuration).createFaceToFaceModel(faceToFaceModel, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FaceToFaceModelApi
     */
    public deleteByIdFaceToFaceModel(id: string, options?: any) {
        return FaceToFaceModelApiFp(this.configuration).deleteByIdFaceToFaceModel(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FaceToFaceModelApi
     */
    public getFaceToFaceModel(id: string, expand?: string, options?: any) {
        return FaceToFaceModelApiFp(this.configuration).getFaceToFaceModel(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FaceToFaceModelApi
     */
    public pagingFaceToFaceModel(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return FaceToFaceModelApiFp(this.configuration).pagingFaceToFaceModel(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FaceToFaceModelApi
     */
    public searchFaceToFaceMode(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return FaceToFaceModelApiFp(this.configuration).searchFaceToFaceMode(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<FaceToFaceModel>} faceToFaceModel Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FaceToFaceModelApi
     */
    public unlinkFaceTOFaceModel(faceToFaceModel: Array<FaceToFaceModel>, options?: any) {
        return FaceToFaceModelApiFp(this.configuration).unlinkFaceTOFaceModel(faceToFaceModel, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * FinanceValueDictApi - axios parameter creator
 * @export
 */
export const FinanceValueDictApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countFinanceValueDict: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/financevaluedicts/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<FinanceValueDict>} financeValueDict Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createFinanceValueDict: async (financeValueDict: Array<FinanceValueDict>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'financeValueDict' is not null or undefined
            assertParamExists('createFinanceValueDict', 'financeValueDict', financeValueDict)
            const localVarPath = `/financevaluedicts`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdFinanceValueDict: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdFinanceValueDict', 'id', id)
            const localVarPath = `/financevaluedicts/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteFinanceValueDict: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteFinanceValueDict', 'requestBody', requestBody)
            const localVarPath = `/financevaluedicts`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getFinanceValueDict: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getFinanceValueDict', 'id', id)
            const localVarPath = `/financevaluedicts/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingFinanceValueDict: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/financevaluedicts`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchFinanceValueDict: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/financevaluedicts/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<FinanceValueDict>} financeValueDict Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkFinanceValueDict: async (financeValueDict: Array<FinanceValueDict>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'financeValueDict' is not null or undefined
            assertParamExists('unlinkFinanceValueDict', 'financeValueDict', financeValueDict)
            const localVarPath = `/financevaluedicts`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<FinanceValueDict>} financeValueDict Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateFinanceValueDict: async (financeValueDict: Array<FinanceValueDict>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'financeValueDict' is not null or undefined
            assertParamExists('updateFinanceValueDict', 'financeValueDict', financeValueDict)
            const localVarPath = `/financevaluedicts`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

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

/**
 * FinanceValueDictApi - functional programming interface
 * @export
 */
export const FinanceValueDictApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = FinanceValueDictApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countFinanceValueDict(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countFinanceValueDict(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<FinanceValueDict>} financeValueDict Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createFinanceValueDict(financeValueDict: Array<FinanceValueDict>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createFinanceValueDict(financeValueDict, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdFinanceValueDict(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdFinanceValueDict(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteFinanceValueDict(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteFinanceValueDict(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getFinanceValueDict(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<FinanceValueDict>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getFinanceValueDict(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingFinanceValueDict(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfFinanceValueDict>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingFinanceValueDict(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchFinanceValueDict(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<FinanceValueDict>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchFinanceValueDict(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<FinanceValueDict>} financeValueDict Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkFinanceValueDict(financeValueDict: Array<FinanceValueDict>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkFinanceValueDict(financeValueDict, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<FinanceValueDict>} financeValueDict Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateFinanceValueDict(financeValueDict: Array<FinanceValueDict>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateFinanceValueDict(financeValueDict, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * FinanceValueDictApi - factory interface
 * @export
 */
export const FinanceValueDictApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = FinanceValueDictApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countFinanceValueDict(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countFinanceValueDict(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<FinanceValueDict>} financeValueDict Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createFinanceValueDict(financeValueDict: Array<FinanceValueDict>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createFinanceValueDict(financeValueDict, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdFinanceValueDict(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdFinanceValueDict(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteFinanceValueDict(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteFinanceValueDict(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getFinanceValueDict(id: string, expand?: string, options?: any): AxiosPromise<FinanceValueDict> {
            return localVarFp.getFinanceValueDict(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingFinanceValueDict(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfFinanceValueDict> {
            return localVarFp.pagingFinanceValueDict(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchFinanceValueDict(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<FinanceValueDict>> {
            return localVarFp.searchFinanceValueDict(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<FinanceValueDict>} financeValueDict Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkFinanceValueDict(financeValueDict: Array<FinanceValueDict>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkFinanceValueDict(financeValueDict, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<FinanceValueDict>} financeValueDict Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateFinanceValueDict(financeValueDict: Array<FinanceValueDict>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateFinanceValueDict(financeValueDict, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * FinanceValueDictApi - object-oriented interface
 * @export
 * @class FinanceValueDictApi
 * @extends {BaseAPI}
 */
export class FinanceValueDictApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FinanceValueDictApi
     */
    public countFinanceValueDict(query?: string, fulltext?: string, options?: any) {
        return FinanceValueDictApiFp(this.configuration).countFinanceValueDict(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<FinanceValueDict>} financeValueDict Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FinanceValueDictApi
     */
    public createFinanceValueDict(financeValueDict: Array<FinanceValueDict>, options?: any) {
        return FinanceValueDictApiFp(this.configuration).createFinanceValueDict(financeValueDict, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FinanceValueDictApi
     */
    public deleteByIdFinanceValueDict(id: string, options?: any) {
        return FinanceValueDictApiFp(this.configuration).deleteByIdFinanceValueDict(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FinanceValueDictApi
     */
    public deleteFinanceValueDict(requestBody: Array<string>, options?: any) {
        return FinanceValueDictApiFp(this.configuration).deleteFinanceValueDict(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FinanceValueDictApi
     */
    public getFinanceValueDict(id: string, expand?: string, options?: any) {
        return FinanceValueDictApiFp(this.configuration).getFinanceValueDict(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FinanceValueDictApi
     */
    public pagingFinanceValueDict(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return FinanceValueDictApiFp(this.configuration).pagingFinanceValueDict(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FinanceValueDictApi
     */
    public searchFinanceValueDict(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return FinanceValueDictApiFp(this.configuration).searchFinanceValueDict(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<FinanceValueDict>} financeValueDict Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FinanceValueDictApi
     */
    public unlinkFinanceValueDict(financeValueDict: Array<FinanceValueDict>, options?: any) {
        return FinanceValueDictApiFp(this.configuration).unlinkFinanceValueDict(financeValueDict, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<FinanceValueDict>} financeValueDict Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FinanceValueDictApi
     */
    public updateFinanceValueDict(financeValueDict: Array<FinanceValueDict>, options?: any) {
        return FinanceValueDictApiFp(this.configuration).updateFinanceValueDict(financeValueDict, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * FormApi - axios parameter creator
 * @export
 */
export const FormApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countForm: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/forms/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Form>} form Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createForm: async (form: Array<Form>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'form' is not null or undefined
            assertParamExists('createForm', 'form', form)
            const localVarPath = `/forms`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdForm: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdForm', 'id', id)
            const localVarPath = `/forms/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteForm: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteForm', 'requestBody', requestBody)
            const localVarPath = `/forms`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getForm: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getForm', 'id', id)
            const localVarPath = `/forms/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingForm: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/forms`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchForm: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/forms/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Form>} form Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkForm: async (form: Array<Form>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'form' is not null or undefined
            assertParamExists('unlinkForm', 'form', form)
            const localVarPath = `/forms`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Form>} form Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateForm: async (form: Array<Form>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'form' is not null or undefined
            assertParamExists('updateForm', 'form', form)
            const localVarPath = `/forms`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

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

/**
 * FormApi - functional programming interface
 * @export
 */
export const FormApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = FormApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countForm(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countForm(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Form>} form Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createForm(form: Array<Form>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createForm(form, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdForm(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdForm(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteForm(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteForm(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getForm(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Form>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getForm(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingForm(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfForm>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingForm(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchForm(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Form>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchForm(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Form>} form Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkForm(form: Array<Form>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkForm(form, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Form>} form Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateForm(form: Array<Form>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateForm(form, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * FormApi - factory interface
 * @export
 */
export const FormApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = FormApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countForm(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countForm(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Form>} form Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createForm(form: Array<Form>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createForm(form, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdForm(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdForm(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteForm(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteForm(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getForm(id: string, expand?: string, options?: any): AxiosPromise<Form> {
            return localVarFp.getForm(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingForm(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfForm> {
            return localVarFp.pagingForm(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchForm(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<Form>> {
            return localVarFp.searchForm(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Form>} form Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkForm(form: Array<Form>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkForm(form, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Form>} form Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateForm(form: Array<Form>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateForm(form, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * FormApi - object-oriented interface
 * @export
 * @class FormApi
 * @extends {BaseAPI}
 */
export class FormApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FormApi
     */
    public countForm(query?: string, fulltext?: string, options?: any) {
        return FormApiFp(this.configuration).countForm(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<Form>} form Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FormApi
     */
    public createForm(form: Array<Form>, options?: any) {
        return FormApiFp(this.configuration).createForm(form, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FormApi
     */
    public deleteByIdForm(id: string, options?: any) {
        return FormApiFp(this.configuration).deleteByIdForm(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FormApi
     */
    public deleteForm(requestBody: Array<string>, options?: any) {
        return FormApiFp(this.configuration).deleteForm(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FormApi
     */
    public getForm(id: string, expand?: string, options?: any) {
        return FormApiFp(this.configuration).getForm(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FormApi
     */
    public pagingForm(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return FormApiFp(this.configuration).pagingForm(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FormApi
     */
    public searchForm(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return FormApiFp(this.configuration).searchForm(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<Form>} form Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FormApi
     */
    public unlinkForm(form: Array<Form>, options?: any) {
        return FormApiFp(this.configuration).unlinkForm(form, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<Form>} form Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FormApi
     */
    public updateForm(form: Array<Form>, options?: any) {
        return FormApiFp(this.configuration).updateForm(form, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * GraphApi - axios parameter creator
 * @export
 */
export const GraphApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * Возвращает плоскую структуру документов начиная от заданных вершин.
         * @summary Возвращает плоскую структуру документов
         * @param {string} schema Имя схемы документа (schema)
         * @param {'incoming' | 'outgoing'} type Направление связи
         * @param {Array<string>} ids IDs документов
         * @param {number} [depth] Глубина поиска
         * @param {Array<string>} [schemas] Схемы (schema) которые включить в выборку
         * @param {Array<string>} [links] Имена линков (полей) которые включить при обходе графа
         * @param {Array<string>} [expand] Расширение объекта по его ссылкам (пример - Account:person)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        flatten: async (schema: string, type: 'incoming' | 'outgoing', ids: Array<string>, depth?: number, schemas?: Array<string>, links?: Array<string>, expand?: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('flatten', 'schema', schema)
            // verify required parameter 'type' is not null or undefined
            assertParamExists('flatten', 'type', type)
            // verify required parameter 'ids' is not null or undefined
            assertParamExists('flatten', 'ids', ids)
            const localVarPath = `/flatten/{schema}/{type}`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)))
                .replace(`{${"type"}}`, encodeURIComponent(String(type)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

            // authentication registryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryAuth", [], configuration)

            if (ids) {
                localVarQueryParameter['ids'] = ids;
            }

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

            if (schemas) {
                localVarQueryParameter['schemas'] = schemas;
            }

            if (links) {
                localVarQueryParameter['links'] = links;
            }

            if (expand) {
                localVarQueryParameter['expand'] = expand;
            }


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает плоскую структуру документов начиная от заданной вершины.
         * @summary Возвращает плоскую структуру документов
         * @param {string} schema Имя схемы документа (schema)
         * @param {'incoming' | 'outgoing'} type Направление связи
         * @param {string} id ID документа вершины откуда начать поиск
         * @param {number} [depth] Глубина поиска
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {Array<string>} [schemas] Схемы (schema) которые включить в выборку
         * @param {Array<string>} [links] Имена линков (полей) которые включить при обходе графа
         * @param {Array<string>} [expand] Расширение объекта по его ссылкам (пример - Account:person)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        flatten1: async (schema: string, type: 'incoming' | 'outgoing', id: string, depth?: number, page?: number, perPage?: number, schemas?: Array<string>, links?: Array<string>, expand?: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('flatten1', 'schema', schema)
            // verify required parameter 'type' is not null or undefined
            assertParamExists('flatten1', 'type', type)
            // verify required parameter 'id' is not null or undefined
            assertParamExists('flatten1', 'id', id)
            const localVarPath = `/flatten/{schema}/{type}/{id}`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)))
                .replace(`{${"type"}}`, encodeURIComponent(String(type)))
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

            // authentication registryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryAuth", [], configuration)

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

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

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

            if (schemas) {
                localVarQueryParameter['schemas'] = schemas;
            }

            if (links) {
                localVarQueryParameter['links'] = links;
            }

            if (expand) {
                localVarQueryParameter['expand'] = expand;
            }


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает дерево документов начиная от заданной вершины.
         * @summary Возвращает дерево документов
         * @param {string} schema Имя схемы документа (schema)
         * @param {'incoming' | 'outgoing'} type Направление связи
         * @param {string} id ID документа
         * @param {number} [depth] Глубина поиска
         * @param {Array<string>} [schemas] Схемы (schema) которые включить в граф
         * @param {Array<string>} [links] Имена линков (полей) которые включить при обходе графа
         * @param {Array<string>} [expand] Расширение объекта по его ссылкам (пример - Account:person)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        tree: async (schema: string, type: 'incoming' | 'outgoing', id: string, depth?: number, schemas?: Array<string>, links?: Array<string>, expand?: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('tree', 'schema', schema)
            // verify required parameter 'type' is not null or undefined
            assertParamExists('tree', 'type', type)
            // verify required parameter 'id' is not null or undefined
            assertParamExists('tree', 'id', id)
            const localVarPath = `/tree/{schema}/{type}/{id}`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)))
                .replace(`{${"type"}}`, encodeURIComponent(String(type)))
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

            // authentication registryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryAuth", [], configuration)

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

            if (schemas) {
                localVarQueryParameter['schemas'] = schemas;
            }

            if (links) {
                localVarQueryParameter['links'] = links;
            }

            if (expand) {
                localVarQueryParameter['expand'] = expand;
            }


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

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

/**
 * GraphApi - functional programming interface
 * @export
 */
export const GraphApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = GraphApiAxiosParamCreator(configuration)
    return {
        /**
         * Возвращает плоскую структуру документов начиная от заданных вершин.
         * @summary Возвращает плоскую структуру документов
         * @param {string} schema Имя схемы документа (schema)
         * @param {'incoming' | 'outgoing'} type Направление связи
         * @param {Array<string>} ids IDs документов
         * @param {number} [depth] Глубина поиска
         * @param {Array<string>} [schemas] Схемы (schema) которые включить в выборку
         * @param {Array<string>} [links] Имена линков (полей) которые включить при обходе графа
         * @param {Array<string>} [expand] Расширение объекта по его ссылкам (пример - Account:person)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async flatten(schema: string, type: 'incoming' | 'outgoing', ids: Array<string>, depth?: number, schemas?: Array<string>, links?: Array<string>, expand?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Document>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.flatten(schema, type, ids, depth, schemas, links, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает плоскую структуру документов начиная от заданной вершины.
         * @summary Возвращает плоскую структуру документов
         * @param {string} schema Имя схемы документа (schema)
         * @param {'incoming' | 'outgoing'} type Направление связи
         * @param {string} id ID документа вершины откуда начать поиск
         * @param {number} [depth] Глубина поиска
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {Array<string>} [schemas] Схемы (schema) которые включить в выборку
         * @param {Array<string>} [links] Имена линков (полей) которые включить при обходе графа
         * @param {Array<string>} [expand] Расширение объекта по его ссылкам (пример - Account:person)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async flatten1(schema: string, type: 'incoming' | 'outgoing', id: string, depth?: number, page?: number, perPage?: number, schemas?: Array<string>, links?: Array<string>, expand?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Page>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.flatten1(schema, type, id, depth, page, perPage, schemas, links, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает дерево документов начиная от заданной вершины.
         * @summary Возвращает дерево документов
         * @param {string} schema Имя схемы документа (schema)
         * @param {'incoming' | 'outgoing'} type Направление связи
         * @param {string} id ID документа
         * @param {number} [depth] Глубина поиска
         * @param {Array<string>} [schemas] Схемы (schema) которые включить в граф
         * @param {Array<string>} [links] Имена линков (полей) которые включить при обходе графа
         * @param {Array<string>} [expand] Расширение объекта по его ссылкам (пример - Account:person)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async tree(schema: string, type: 'incoming' | 'outgoing', id: string, depth?: number, schemas?: Array<string>, links?: Array<string>, expand?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<NodeTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.tree(schema, type, id, depth, schemas, links, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * GraphApi - factory interface
 * @export
 */
export const GraphApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = GraphApiFp(configuration)
    return {
        /**
         * Возвращает плоскую структуру документов начиная от заданных вершин.
         * @summary Возвращает плоскую структуру документов
         * @param {string} schema Имя схемы документа (schema)
         * @param {'incoming' | 'outgoing'} type Направление связи
         * @param {Array<string>} ids IDs документов
         * @param {number} [depth] Глубина поиска
         * @param {Array<string>} [schemas] Схемы (schema) которые включить в выборку
         * @param {Array<string>} [links] Имена линков (полей) которые включить при обходе графа
         * @param {Array<string>} [expand] Расширение объекта по его ссылкам (пример - Account:person)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        flatten(schema: string, type: 'incoming' | 'outgoing', ids: Array<string>, depth?: number, schemas?: Array<string>, links?: Array<string>, expand?: Array<string>, options?: any): AxiosPromise<Array<Document>> {
            return localVarFp.flatten(schema, type, ids, depth, schemas, links, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает плоскую структуру документов начиная от заданной вершины.
         * @summary Возвращает плоскую структуру документов
         * @param {string} schema Имя схемы документа (schema)
         * @param {'incoming' | 'outgoing'} type Направление связи
         * @param {string} id ID документа вершины откуда начать поиск
         * @param {number} [depth] Глубина поиска
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {Array<string>} [schemas] Схемы (schema) которые включить в выборку
         * @param {Array<string>} [links] Имена линков (полей) которые включить при обходе графа
         * @param {Array<string>} [expand] Расширение объекта по его ссылкам (пример - Account:person)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        flatten1(schema: string, type: 'incoming' | 'outgoing', id: string, depth?: number, page?: number, perPage?: number, schemas?: Array<string>, links?: Array<string>, expand?: Array<string>, options?: any): AxiosPromise<Page> {
            return localVarFp.flatten1(schema, type, id, depth, page, perPage, schemas, links, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает дерево документов начиная от заданной вершины.
         * @summary Возвращает дерево документов
         * @param {string} schema Имя схемы документа (schema)
         * @param {'incoming' | 'outgoing'} type Направление связи
         * @param {string} id ID документа
         * @param {number} [depth] Глубина поиска
         * @param {Array<string>} [schemas] Схемы (schema) которые включить в граф
         * @param {Array<string>} [links] Имена линков (полей) которые включить при обходе графа
         * @param {Array<string>} [expand] Расширение объекта по его ссылкам (пример - Account:person)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        tree(schema: string, type: 'incoming' | 'outgoing', id: string, depth?: number, schemas?: Array<string>, links?: Array<string>, expand?: Array<string>, options?: any): AxiosPromise<NodeTO> {
            return localVarFp.tree(schema, type, id, depth, schemas, links, expand, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * GraphApi - object-oriented interface
 * @export
 * @class GraphApi
 * @extends {BaseAPI}
 */
export class GraphApi extends BaseAPI {
    /**
     * Возвращает плоскую структуру документов начиная от заданных вершин.
     * @summary Возвращает плоскую структуру документов
     * @param {string} schema Имя схемы документа (schema)
     * @param {'incoming' | 'outgoing'} type Направление связи
     * @param {Array<string>} ids IDs документов
     * @param {number} [depth] Глубина поиска
     * @param {Array<string>} [schemas] Схемы (schema) которые включить в выборку
     * @param {Array<string>} [links] Имена линков (полей) которые включить при обходе графа
     * @param {Array<string>} [expand] Расширение объекта по его ссылкам (пример - Account:person)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GraphApi
     */
    public flatten(schema: string, type: 'incoming' | 'outgoing', ids: Array<string>, depth?: number, schemas?: Array<string>, links?: Array<string>, expand?: Array<string>, options?: any) {
        return GraphApiFp(this.configuration).flatten(schema, type, ids, depth, schemas, links, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает плоскую структуру документов начиная от заданной вершины.
     * @summary Возвращает плоскую структуру документов
     * @param {string} schema Имя схемы документа (schema)
     * @param {'incoming' | 'outgoing'} type Направление связи
     * @param {string} id ID документа вершины откуда начать поиск
     * @param {number} [depth] Глубина поиска
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {Array<string>} [schemas] Схемы (schema) которые включить в выборку
     * @param {Array<string>} [links] Имена линков (полей) которые включить при обходе графа
     * @param {Array<string>} [expand] Расширение объекта по его ссылкам (пример - Account:person)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GraphApi
     */
    public flatten1(schema: string, type: 'incoming' | 'outgoing', id: string, depth?: number, page?: number, perPage?: number, schemas?: Array<string>, links?: Array<string>, expand?: Array<string>, options?: any) {
        return GraphApiFp(this.configuration).flatten1(schema, type, id, depth, page, perPage, schemas, links, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает дерево документов начиная от заданной вершины.
     * @summary Возвращает дерево документов
     * @param {string} schema Имя схемы документа (schema)
     * @param {'incoming' | 'outgoing'} type Направление связи
     * @param {string} id ID документа
     * @param {number} [depth] Глубина поиска
     * @param {Array<string>} [schemas] Схемы (schema) которые включить в граф
     * @param {Array<string>} [links] Имена линков (полей) которые включить при обходе графа
     * @param {Array<string>} [expand] Расширение объекта по его ссылкам (пример - Account:person)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GraphApi
     */
    public tree(schema: string, type: 'incoming' | 'outgoing', id: string, depth?: number, schemas?: Array<string>, links?: Array<string>, expand?: Array<string>, options?: any) {
        return GraphApiFp(this.configuration).tree(schema, type, id, depth, schemas, links, expand, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * IdApi - axios parameter creator
 * @export
 */
export const IdApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Отдает массив id
         * @param {string} to 
         * @param {string} id 
         * @param {string} from 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        edgesId: async (to: string, id: string, from: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'to' is not null or undefined
            assertParamExists('edgesId', 'to', to)
            // verify required parameter 'id' is not null or undefined
            assertParamExists('edgesId', 'id', id)
            // verify required parameter 'from' is not null or undefined
            assertParamExists('edgesId', 'from', from)
            const localVarPath = `/edges/to/{to}/{id}/from/{from}/list`
                .replace(`{${"to"}}`, encodeURIComponent(String(to)))
                .replace(`{${"id"}}`, encodeURIComponent(String(id)))
                .replace(`{${"from"}}`, encodeURIComponent(String(from)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

/**
 * IdApi - functional programming interface
 * @export
 */
export const IdApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = IdApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Отдает массив id
         * @param {string} to 
         * @param {string} id 
         * @param {string} from 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async edgesId(to: string, id: string, from: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<string>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.edgesId(to, id, from, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * IdApi - factory interface
 * @export
 */
export const IdApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = IdApiFp(configuration)
    return {
        /**
         * 
         * @summary Отдает массив id
         * @param {string} to 
         * @param {string} id 
         * @param {string} from 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        edgesId(to: string, id: string, from: string, options?: any): AxiosPromise<Array<string>> {
            return localVarFp.edgesId(to, id, from, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * IdApi - object-oriented interface
 * @export
 * @class IdApi
 * @extends {BaseAPI}
 */
export class IdApi extends BaseAPI {
    /**
     * 
     * @summary Отдает массив id
     * @param {string} to 
     * @param {string} id 
     * @param {string} from 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IdApi
     */
    public edgesId(to: string, id: string, from: string, options?: any) {
        return IdApiFp(this.configuration).edgesId(to, id, from, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * IncomeDictApi - axios parameter creator
 * @export
 */
export const IncomeDictApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countIncomeDict: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/incomedicts/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<IncomeDict>} incomeDict Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createIncomeDict: async (incomeDict: Array<IncomeDict>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'incomeDict' is not null or undefined
            assertParamExists('createIncomeDict', 'incomeDict', incomeDict)
            const localVarPath = `/incomedicts`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdIncomeDict: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdIncomeDict', 'id', id)
            const localVarPath = `/incomedicts/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteIncomeDict: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteIncomeDict', 'requestBody', requestBody)
            const localVarPath = `/incomedicts`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getIncomeDict: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getIncomeDict', 'id', id)
            const localVarPath = `/incomedicts/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingIncomeDict: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/incomedicts`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchIncomeDict: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/incomedicts/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<IncomeDict>} incomeDict Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkIncomeDict: async (incomeDict: Array<IncomeDict>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'incomeDict' is not null or undefined
            assertParamExists('unlinkIncomeDict', 'incomeDict', incomeDict)
            const localVarPath = `/incomedicts`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<IncomeDict>} incomeDict Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateIncomeDict: async (incomeDict: Array<IncomeDict>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'incomeDict' is not null or undefined
            assertParamExists('updateIncomeDict', 'incomeDict', incomeDict)
            const localVarPath = `/incomedicts`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

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

/**
 * IncomeDictApi - functional programming interface
 * @export
 */
export const IncomeDictApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = IncomeDictApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countIncomeDict(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countIncomeDict(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<IncomeDict>} incomeDict Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createIncomeDict(incomeDict: Array<IncomeDict>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createIncomeDict(incomeDict, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdIncomeDict(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdIncomeDict(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteIncomeDict(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteIncomeDict(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getIncomeDict(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<IncomeDict>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getIncomeDict(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingIncomeDict(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfIncomeDict>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingIncomeDict(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchIncomeDict(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<IncomeDict>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchIncomeDict(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<IncomeDict>} incomeDict Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkIncomeDict(incomeDict: Array<IncomeDict>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkIncomeDict(incomeDict, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<IncomeDict>} incomeDict Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateIncomeDict(incomeDict: Array<IncomeDict>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateIncomeDict(incomeDict, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * IncomeDictApi - factory interface
 * @export
 */
export const IncomeDictApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = IncomeDictApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countIncomeDict(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countIncomeDict(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<IncomeDict>} incomeDict Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createIncomeDict(incomeDict: Array<IncomeDict>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createIncomeDict(incomeDict, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdIncomeDict(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdIncomeDict(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteIncomeDict(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteIncomeDict(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getIncomeDict(id: string, expand?: string, options?: any): AxiosPromise<IncomeDict> {
            return localVarFp.getIncomeDict(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingIncomeDict(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfIncomeDict> {
            return localVarFp.pagingIncomeDict(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchIncomeDict(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<IncomeDict>> {
            return localVarFp.searchIncomeDict(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<IncomeDict>} incomeDict Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkIncomeDict(incomeDict: Array<IncomeDict>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkIncomeDict(incomeDict, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<IncomeDict>} incomeDict Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateIncomeDict(incomeDict: Array<IncomeDict>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateIncomeDict(incomeDict, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * IncomeDictApi - object-oriented interface
 * @export
 * @class IncomeDictApi
 * @extends {BaseAPI}
 */
export class IncomeDictApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IncomeDictApi
     */
    public countIncomeDict(query?: string, fulltext?: string, options?: any) {
        return IncomeDictApiFp(this.configuration).countIncomeDict(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<IncomeDict>} incomeDict Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IncomeDictApi
     */
    public createIncomeDict(incomeDict: Array<IncomeDict>, options?: any) {
        return IncomeDictApiFp(this.configuration).createIncomeDict(incomeDict, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IncomeDictApi
     */
    public deleteByIdIncomeDict(id: string, options?: any) {
        return IncomeDictApiFp(this.configuration).deleteByIdIncomeDict(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IncomeDictApi
     */
    public deleteIncomeDict(requestBody: Array<string>, options?: any) {
        return IncomeDictApiFp(this.configuration).deleteIncomeDict(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IncomeDictApi
     */
    public getIncomeDict(id: string, expand?: string, options?: any) {
        return IncomeDictApiFp(this.configuration).getIncomeDict(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IncomeDictApi
     */
    public pagingIncomeDict(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return IncomeDictApiFp(this.configuration).pagingIncomeDict(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IncomeDictApi
     */
    public searchIncomeDict(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return IncomeDictApiFp(this.configuration).searchIncomeDict(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<IncomeDict>} incomeDict Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IncomeDictApi
     */
    public unlinkIncomeDict(incomeDict: Array<IncomeDict>, options?: any) {
        return IncomeDictApiFp(this.configuration).unlinkIncomeDict(incomeDict, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<IncomeDict>} incomeDict Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IncomeDictApi
     */
    public updateIncomeDict(incomeDict: Array<IncomeDict>, options?: any) {
        return IncomeDictApiFp(this.configuration).updateIncomeDict(incomeDict, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * InteragencyApi - axios parameter creator
 * @export
 */
export const InteragencyApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countInteragency1: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/interagencies/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Interagency>} interagency Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createInteragency: async (interagency: Array<Interagency>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'interagency' is not null or undefined
            assertParamExists('createInteragency', 'interagency', interagency)
            const localVarPath = `/interagencies`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdInteragency: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdInteragency', 'id', id)
            const localVarPath = `/interagencies/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteInteragency: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteInteragency', 'requestBody', requestBody)
            const localVarPath = `/interagencies`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getInteragency: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getInteragency', 'id', id)
            const localVarPath = `/interagencies/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов с замененными формами. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов с замененными формами
         * @param {string} serviceId Id услуги
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        interagencyFormReplacement: async (serviceId: string, page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'serviceId' is not null or undefined
            assertParamExists('interagencyFormReplacement', 'serviceId', serviceId)
            const localVarPath = `/interagencies/replacement`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingInteragency: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/interagencies`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchInteragency: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/interagencies/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Синхронизиррует все родительсие сущность со всеми дочерними сущностями совпадающими с ним по clazz, но неимеющие parentId
         * @summary Cинхронизировать все дочернии МЗ с родительскими, если такие отсутствуют создать
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        syncInteragency: async (options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/interagencies/syncInteragency`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Interagency>} interagency Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkInteragency: async (interagency: Array<Interagency>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'interagency' is not null or undefined
            assertParamExists('unlinkInteragency', 'interagency', interagency)
            const localVarPath = `/interagencies`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Interagency>} interagency Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateInteragency: async (interagency: Array<Interagency>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'interagency' is not null or undefined
            assertParamExists('updateInteragency', 'interagency', interagency)
            const localVarPath = `/interagencies`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Добавяет в родительскую сущность все дочерние сущности совпадающие с ним по clazz, но неимеющие parentId
         * @summary Обновляет данные в родительской сущности
         * @param {string} id ID родительского МЗ
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateParentInteragency: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('updateParentInteragency', 'id', id)
            const localVarPath = `/interagencies/updateParent`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

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

/**
 * InteragencyApi - functional programming interface
 * @export
 */
export const InteragencyApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = InteragencyApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countInteragency1(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countInteragency1(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Interagency>} interagency Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createInteragency(interagency: Array<Interagency>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createInteragency(interagency, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdInteragency(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdInteragency(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteInteragency(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteInteragency(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getInteragency(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Interagency>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getInteragency(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов с замененными формами. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов с замененными формами
         * @param {string} serviceId Id услуги
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async interagencyFormReplacement(serviceId: string, page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfInteragency>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.interagencyFormReplacement(serviceId, page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingInteragency(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfInteragency>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingInteragency(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchInteragency(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Interagency>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchInteragency(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Синхронизиррует все родительсие сущность со всеми дочерними сущностями совпадающими с ним по clazz, но неимеющие parentId
         * @summary Cинхронизировать все дочернии МЗ с родительскими, если такие отсутствуют создать
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async syncInteragency(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.syncInteragency(options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Interagency>} interagency Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkInteragency(interagency: Array<Interagency>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkInteragency(interagency, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Interagency>} interagency Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateInteragency(interagency: Array<Interagency>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateInteragency(interagency, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Добавяет в родительскую сущность все дочерние сущности совпадающие с ним по clazz, но неимеющие parentId
         * @summary Обновляет данные в родительской сущности
         * @param {string} id ID родительского МЗ
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateParentInteragency(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateParentInteragency(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * InteragencyApi - factory interface
 * @export
 */
export const InteragencyApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = InteragencyApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countInteragency1(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countInteragency1(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Interagency>} interagency Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createInteragency(interagency: Array<Interagency>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createInteragency(interagency, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdInteragency(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdInteragency(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteInteragency(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteInteragency(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getInteragency(id: string, expand?: string, options?: any): AxiosPromise<Interagency> {
            return localVarFp.getInteragency(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов с замененными формами. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов с замененными формами
         * @param {string} serviceId Id услуги
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        interagencyFormReplacement(serviceId: string, page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfInteragency> {
            return localVarFp.interagencyFormReplacement(serviceId, page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingInteragency(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfInteragency> {
            return localVarFp.pagingInteragency(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchInteragency(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<Interagency>> {
            return localVarFp.searchInteragency(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Синхронизиррует все родительсие сущность со всеми дочерними сущностями совпадающими с ним по clazz, но неимеющие parentId
         * @summary Cинхронизировать все дочернии МЗ с родительскими, если такие отсутствуют создать
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        syncInteragency(options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.syncInteragency(options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Interagency>} interagency Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkInteragency(interagency: Array<Interagency>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkInteragency(interagency, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Interagency>} interagency Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateInteragency(interagency: Array<Interagency>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateInteragency(interagency, options).then((request) => request(axios, basePath));
        },
        /**
         * Добавяет в родительскую сущность все дочерние сущности совпадающие с ним по clazz, но неимеющие parentId
         * @summary Обновляет данные в родительской сущности
         * @param {string} id ID родительского МЗ
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateParentInteragency(id: string, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateParentInteragency(id, options).then((request) => request(axios, basePath));
        },
    };
  };

/**
 * InteragencyApi - object-oriented interface
 * @export
 * @class InteragencyApi
 * @extends {BaseAPI}
 */
export class InteragencyApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyApi
     */
    public countInteragency1(query?: string, fulltext?: string, options?: any) {
        return InteragencyApiFp(this.configuration).countInteragency1(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<Interagency>} interagency Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyApi
     */
    public createInteragency(interagency: Array<Interagency>, options?: any) {
        return InteragencyApiFp(this.configuration).createInteragency(interagency, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyApi
     */
    public deleteByIdInteragency(id: string, options?: any) {
        return InteragencyApiFp(this.configuration).deleteByIdInteragency(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyApi
     */
    public deleteInteragency(requestBody: Array<string>, options?: any) {
        return InteragencyApiFp(this.configuration).deleteInteragency(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyApi
     */
    public getInteragency(id: string, expand?: string, options?: any) {
        return InteragencyApiFp(this.configuration).getInteragency(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов с замененными формами. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов с замененными формами
     * @param {string} serviceId Id услуги
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyApi
     */
    public interagencyFormReplacement(serviceId: string, page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return InteragencyApiFp(this.configuration).interagencyFormReplacement(serviceId, page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyApi
     */
    public pagingInteragency(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return InteragencyApiFp(this.configuration).pagingInteragency(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyApi
     */
    public searchInteragency(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return InteragencyApiFp(this.configuration).searchInteragency(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Синхронизиррует все родительсие сущность со всеми дочерними сущностями совпадающими с ним по clazz, но неимеющие parentId
     * @summary Cинхронизировать все дочернии МЗ с родительскими, если такие отсутствуют создать
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyApi
     */
    public syncInteragency(options?: any) {
        return InteragencyApiFp(this.configuration).syncInteragency(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<Interagency>} interagency Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyApi
     */
    public unlinkInteragency(interagency: Array<Interagency>, options?: any) {
        return InteragencyApiFp(this.configuration).unlinkInteragency(interagency, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<Interagency>} interagency Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyApi
     */
    public updateInteragency(interagency: Array<Interagency>, options?: any) {
        return InteragencyApiFp(this.configuration).updateInteragency(interagency, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Добавяет в родительскую сущность все дочерние сущности совпадающие с ним по clazz, но неимеющие parentId
     * @summary Обновляет данные в родительской сущности
     * @param {string} id ID родительского МЗ
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyApi
     */
    public updateParentInteragency(id: string, options?: any) {
        return InteragencyApiFp(this.configuration).updateParentInteragency(id, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * InteragencyBackupApi - axios parameter creator
 * @export
 */
export const InteragencyBackupApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Создает backup zip архив для Interagency
         * @param {string} interagencyId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        interagencyExportToZip: async (interagencyId: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'interagencyId' is not null or undefined
            assertParamExists('interagencyExportToZip', 'interagencyId', interagencyId)
            const localVarPath = `/backup-interagency/export/{interagencyId}/zip`
                .replace(`{${"interagencyId"}}`, encodeURIComponent(String(interagencyId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

/**
 * InteragencyBackupApi - functional programming interface
 * @export
 */
export const InteragencyBackupApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = InteragencyBackupApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Создает backup zip архив для Interagency
         * @param {string} interagencyId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async interagencyExportToZip(interagencyId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.interagencyExportToZip(interagencyId, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * InteragencyBackupApi - factory interface
 * @export
 */
export const InteragencyBackupApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = InteragencyBackupApiFp(configuration)
    return {
        /**
         * 
         * @summary Создает backup zip архив для Interagency
         * @param {string} interagencyId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        interagencyExportToZip(interagencyId: string, options?: any): AxiosPromise<void> {
            return localVarFp.interagencyExportToZip(interagencyId, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * InteragencyBackupApi - object-oriented interface
 * @export
 * @class InteragencyBackupApi
 * @extends {BaseAPI}
 */
export class InteragencyBackupApi extends BaseAPI {
    /**
     * 
     * @summary Создает backup zip архив для Interagency
     * @param {string} interagencyId 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyBackupApi
     */
    public interagencyExportToZip(interagencyId: string, options?: any) {
        return InteragencyBackupApiFp(this.configuration).interagencyExportToZip(interagencyId, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * InteragencyTemplateApi - axios parameter creator
 * @export
 */
export const InteragencyTemplateApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createInteragencyTemplate: async (options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/interagencytemplates`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdInteragencyTemplate: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdInteragencyTemplate', 'id', id)
            const localVarPath = `/interagencytemplates/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteInteragencyTemplate: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteInteragencyTemplate', 'requestBody', requestBody)
            const localVarPath = `/interagencytemplates`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getInteragencyTemplate: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getInteragencyTemplate', 'id', id)
            const localVarPath = `/interagencytemplates/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchInteragencyTemplate: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/interagencytemplates/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {string} id ID документа
         * @param {Array<any>} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateInteragencyTemplate: async (id: string, files?: Array<any>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('updateInteragencyTemplate', 'id', id)
            const localVarPath = `/interagencytemplates/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (files) {
                files.forEach((element) => {
                    localVarFormParams.append('files', element as any);
                })
            }

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

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

/**
 * InteragencyTemplateApi - functional programming interface
 * @export
 */
export const InteragencyTemplateApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = InteragencyTemplateApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createInteragencyTemplate(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createInteragencyTemplate(options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdInteragencyTemplate(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdInteragencyTemplate(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteInteragencyTemplate(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteInteragencyTemplate(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getInteragencyTemplate(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<InteragencyTemplate>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getInteragencyTemplate(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchInteragencyTemplate(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<InteragencyTemplate>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchInteragencyTemplate(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {string} id ID документа
         * @param {Array<any>} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateInteragencyTemplate(id: string, files?: Array<any>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateInteragencyTemplate(id, files, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * InteragencyTemplateApi - factory interface
 * @export
 */
export const InteragencyTemplateApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = InteragencyTemplateApiFp(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createInteragencyTemplate(options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createInteragencyTemplate(options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdInteragencyTemplate(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdInteragencyTemplate(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteInteragencyTemplate(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteInteragencyTemplate(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getInteragencyTemplate(id: string, expand?: string, options?: any): AxiosPromise<InteragencyTemplate> {
            return localVarFp.getInteragencyTemplate(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchInteragencyTemplate(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<InteragencyTemplate>> {
            return localVarFp.searchInteragencyTemplate(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {string} id ID документа
         * @param {Array<any>} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateInteragencyTemplate(id: string, files?: Array<any>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateInteragencyTemplate(id, files, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * InteragencyTemplateApi - object-oriented interface
 * @export
 * @class InteragencyTemplateApi
 * @extends {BaseAPI}
 */
export class InteragencyTemplateApi extends BaseAPI {
    /**
     * 
     * @summary Создает новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyTemplateApi
     */
    public createInteragencyTemplate(options?: any) {
        return InteragencyTemplateApiFp(this.configuration).createInteragencyTemplate(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyTemplateApi
     */
    public deleteByIdInteragencyTemplate(id: string, options?: any) {
        return InteragencyTemplateApiFp(this.configuration).deleteByIdInteragencyTemplate(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyTemplateApi
     */
    public deleteInteragencyTemplate(requestBody: Array<string>, options?: any) {
        return InteragencyTemplateApiFp(this.configuration).deleteInteragencyTemplate(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyTemplateApi
     */
    public getInteragencyTemplate(id: string, expand?: string, options?: any) {
        return InteragencyTemplateApiFp(this.configuration).getInteragencyTemplate(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyTemplateApi
     */
    public searchInteragencyTemplate(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return InteragencyTemplateApiFp(this.configuration).searchInteragencyTemplate(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {string} id ID документа
     * @param {Array<any>} [files] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InteragencyTemplateApi
     */
    public updateInteragencyTemplate(id: string, files?: Array<any>, options?: any) {
        return InteragencyTemplateApiFp(this.configuration).updateInteragencyTemplate(id, files, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * LinksApi - axios parameter creator
 * @export
 */
export const LinksApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество документов
         * @param {string} schemaParent Schema родительского документа
         * @param {string} parentId 
         * @param {string} schemaChild Schema линкованого документа
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countLinks: async (schemaParent: string, parentId: string, schemaChild: string, query?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schemaParent' is not null or undefined
            assertParamExists('countLinks', 'schemaParent', schemaParent)
            // verify required parameter 'parentId' is not null or undefined
            assertParamExists('countLinks', 'parentId', parentId)
            // verify required parameter 'schemaChild' is not null or undefined
            assertParamExists('countLinks', 'schemaChild', schemaChild)
            const localVarPath = `/links/{schemaParent}/{parentId}/{schemaChild}/count`
                .replace(`{${"schemaParent"}}`, encodeURIComponent(String(schemaParent)))
                .replace(`{${"parentId"}}`, encodeURIComponent(String(parentId)))
                .replace(`{${"schemaChild"}}`, encodeURIComponent(String(schemaChild)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

            // authentication registryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} schemaParent Schema родительского документа
         * @param {string} parentId 
         * @param {string} schemaChild Имя Schema прилинкованного документа
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        findLinks: async (schemaParent: string, parentId: string, schemaChild: string, id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schemaParent' is not null or undefined
            assertParamExists('findLinks', 'schemaParent', schemaParent)
            // verify required parameter 'parentId' is not null or undefined
            assertParamExists('findLinks', 'parentId', parentId)
            // verify required parameter 'schemaChild' is not null or undefined
            assertParamExists('findLinks', 'schemaChild', schemaChild)
            // verify required parameter 'id' is not null or undefined
            assertParamExists('findLinks', 'id', id)
            const localVarPath = `/links/{schemaParent}/{parentId}/{schemaChild}/{id}`
                .replace(`{${"schemaParent"}}`, encodeURIComponent(String(schemaParent)))
                .replace(`{${"parentId"}}`, encodeURIComponent(String(parentId)))
                .replace(`{${"schemaChild"}}`, encodeURIComponent(String(schemaChild)))
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

            // authentication registryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список документов. Разбиение на страницы производиться по 10 записей на страницу (задаётся параметрами запроса) и сортировкой (задаётся параметрами запроса).
         * @summary Возвращает постраничный список документов
         * @param {string} schemaParent Schema родительского документа
         * @param {string} parentId 
         * @param {string} schemaChild Schema прилинкованного документа
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob)
         * @param {string} [sort] Параметры сортировки (пример: -modified в порядке DESC, +modified в порядке ASC, можно N полей через запятую)
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingLinks: async (schemaParent: string, parentId: string, schemaChild: string, page?: number, perPage?: number, query?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schemaParent' is not null or undefined
            assertParamExists('pagingLinks', 'schemaParent', schemaParent)
            // verify required parameter 'parentId' is not null or undefined
            assertParamExists('pagingLinks', 'parentId', parentId)
            // verify required parameter 'schemaChild' is not null or undefined
            assertParamExists('pagingLinks', 'schemaChild', schemaChild)
            const localVarPath = `/links/{schemaParent}/{parentId}/{schemaChild}`
                .replace(`{${"schemaParent"}}`, encodeURIComponent(String(schemaParent)))
                .replace(`{${"parentId"}}`, encodeURIComponent(String(parentId)))
                .replace(`{${"schemaChild"}}`, encodeURIComponent(String(schemaChild)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

            // authentication registryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryAuth", [], configuration)

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список документов без пейджинга.
         * @summary Возвращает список документов
         * @param {string} schemaParent Schema родительского документа
         * @param {string} parentId 
         * @param {string} schemaChild Schema прилинкованного документа
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob)
         * @param {string} [sort] Параметры сортировки (пример: -modified в порядке DESC, +modified в порядке ASC, можно N полей через запятую)
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchLinks: async (schemaParent: string, parentId: string, schemaChild: string, query?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schemaParent' is not null or undefined
            assertParamExists('searchLinks', 'schemaParent', schemaParent)
            // verify required parameter 'parentId' is not null or undefined
            assertParamExists('searchLinks', 'parentId', parentId)
            // verify required parameter 'schemaChild' is not null or undefined
            assertParamExists('searchLinks', 'schemaChild', schemaChild)
            const localVarPath = `/links/{schemaParent}/{parentId}/{schemaChild}/all`
                .replace(`{${"schemaParent"}}`, encodeURIComponent(String(schemaParent)))
                .replace(`{${"parentId"}}`, encodeURIComponent(String(parentId)))
                .replace(`{${"schemaChild"}}`, encodeURIComponent(String(schemaChild)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

            // authentication registryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryAuth", [], configuration)

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

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

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


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

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

/**
 * LinksApi - functional programming interface
 * @export
 */
export const LinksApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = LinksApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество документов
         * @param {string} schemaParent Schema родительского документа
         * @param {string} parentId 
         * @param {string} schemaChild Schema линкованого документа
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countLinks(schemaParent: string, parentId: string, schemaChild: string, query?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countLinks(schemaParent, parentId, schemaChild, query, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} schemaParent Schema родительского документа
         * @param {string} parentId 
         * @param {string} schemaChild Имя Schema прилинкованного документа
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async findLinks(schemaParent: string, parentId: string, schemaChild: string, id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Document>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.findLinks(schemaParent, parentId, schemaChild, id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список документов. Разбиение на страницы производиться по 10 записей на страницу (задаётся параметрами запроса) и сортировкой (задаётся параметрами запроса).
         * @summary Возвращает постраничный список документов
         * @param {string} schemaParent Schema родительского документа
         * @param {string} parentId 
         * @param {string} schemaChild Schema прилинкованного документа
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob)
         * @param {string} [sort] Параметры сортировки (пример: -modified в порядке DESC, +modified в порядке ASC, можно N полей через запятую)
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingLinks(schemaParent: string, parentId: string, schemaChild: string, page?: number, perPage?: number, query?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Page>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingLinks(schemaParent, parentId, schemaChild, page, perPage, query, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список документов без пейджинга.
         * @summary Возвращает список документов
         * @param {string} schemaParent Schema родительского документа
         * @param {string} parentId 
         * @param {string} schemaChild Schema прилинкованного документа
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob)
         * @param {string} [sort] Параметры сортировки (пример: -modified в порядке DESC, +modified в порядке ASC, можно N полей через запятую)
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchLinks(schemaParent: string, parentId: string, schemaChild: string, query?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Document>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchLinks(schemaParent, parentId, schemaChild, query, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * LinksApi - factory interface
 * @export
 */
export const LinksApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = LinksApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество документов
         * @param {string} schemaParent Schema родительского документа
         * @param {string} parentId 
         * @param {string} schemaChild Schema линкованого документа
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countLinks(schemaParent: string, parentId: string, schemaChild: string, query?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countLinks(schemaParent, parentId, schemaChild, query, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} schemaParent Schema родительского документа
         * @param {string} parentId 
         * @param {string} schemaChild Имя Schema прилинкованного документа
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        findLinks(schemaParent: string, parentId: string, schemaChild: string, id: string, expand?: string, options?: any): AxiosPromise<Document> {
            return localVarFp.findLinks(schemaParent, parentId, schemaChild, id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список документов. Разбиение на страницы производиться по 10 записей на страницу (задаётся параметрами запроса) и сортировкой (задаётся параметрами запроса).
         * @summary Возвращает постраничный список документов
         * @param {string} schemaParent Schema родительского документа
         * @param {string} parentId 
         * @param {string} schemaChild Schema прилинкованного документа
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob)
         * @param {string} [sort] Параметры сортировки (пример: -modified в порядке DESC, +modified в порядке ASC, можно N полей через запятую)
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingLinks(schemaParent: string, parentId: string, schemaChild: string, page?: number, perPage?: number, query?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Page> {
            return localVarFp.pagingLinks(schemaParent, parentId, schemaChild, page, perPage, query, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список документов без пейджинга.
         * @summary Возвращает список документов
         * @param {string} schemaParent Schema родительского документа
         * @param {string} parentId 
         * @param {string} schemaChild Schema прилинкованного документа
         * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob)
         * @param {string} [sort] Параметры сортировки (пример: -modified в порядке DESC, +modified в порядке ASC, можно N полей через запятую)
         * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchLinks(schemaParent: string, parentId: string, schemaChild: string, query?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<Document>> {
            return localVarFp.searchLinks(schemaParent, parentId, schemaChild, query, sort, expand, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * LinksApi - object-oriented interface
 * @export
 * @class LinksApi
 * @extends {BaseAPI}
 */
export class LinksApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество документов
     * @param {string} schemaParent Schema родительского документа
     * @param {string} parentId 
     * @param {string} schemaChild Schema линкованого документа
     * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LinksApi
     */
    public countLinks(schemaParent: string, parentId: string, schemaChild: string, query?: string, options?: any) {
        return LinksApiFp(this.configuration).countLinks(schemaParent, parentId, schemaChild, query, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} schemaParent Schema родительского документа
     * @param {string} parentId 
     * @param {string} schemaChild Имя Schema прилинкованного документа
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LinksApi
     */
    public findLinks(schemaParent: string, parentId: string, schemaChild: string, id: string, expand?: string, options?: any) {
        return LinksApiFp(this.configuration).findLinks(schemaParent, parentId, schemaChild, id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список документов. Разбиение на страницы производиться по 10 записей на страницу (задаётся параметрами запроса) и сортировкой (задаётся параметрами запроса).
     * @summary Возвращает постраничный список документов
     * @param {string} schemaParent Schema родительского документа
     * @param {string} parentId 
     * @param {string} schemaChild Schema прилинкованного документа
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob)
     * @param {string} [sort] Параметры сортировки (пример: -modified в порядке DESC, +modified в порядке ASC, можно N полей через запятую)
     * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LinksApi
     */
    public pagingLinks(schemaParent: string, parentId: string, schemaChild: string, page?: number, perPage?: number, query?: string, sort?: string, expand?: string, options?: any) {
        return LinksApiFp(this.configuration).pagingLinks(schemaParent, parentId, schemaChild, page, perPage, query, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список документов без пейджинга.
     * @summary Возвращает список документов
     * @param {string} schemaParent Schema родительского документа
     * @param {string} parentId 
     * @param {string} schemaChild Schema прилинкованного документа
     * @param {string} [query] Фильтр (RSQL) выборки по объекту (пример name&#x3D;&#x3D;Bob)
     * @param {string} [sort] Параметры сортировки (пример: -modified в порядке DESC, +modified в порядке ASC, можно N полей через запятую)
     * @param {string} [expand] Расширение объекта по его ссылкам (см. описание модели)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LinksApi
     */
    public searchLinks(schemaParent: string, parentId: string, schemaChild: string, query?: string, sort?: string, expand?: string, options?: any) {
        return LinksApiFp(this.configuration).searchLinks(schemaParent, parentId, schemaChild, query, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * LivingWageDictApi - axios parameter creator
 * @export
 */
export const LivingWageDictApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countLivingWageDict: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/livingwagedicts/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<LivingWageDict>} livingWageDict Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createLivingWageDict: async (livingWageDict: Array<LivingWageDict>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'livingWageDict' is not null or undefined
            assertParamExists('createLivingWageDict', 'livingWageDict', livingWageDict)
            const localVarPath = `/livingwagedicts`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdLivingWageDict: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdLivingWageDict', 'id', id)
            const localVarPath = `/livingwagedicts/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteLivingWageDict: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteLivingWageDict', 'requestBody', requestBody)
            const localVarPath = `/livingwagedicts`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getLivingWageDict: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getLivingWageDict', 'id', id)
            const localVarPath = `/livingwagedicts/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingLivingWageDict: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/livingwagedicts`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchLivingWageDict: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/livingwagedicts/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<LivingWageDict>} livingWageDict Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkLivingWageDict: async (livingWageDict: Array<LivingWageDict>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'livingWageDict' is not null or undefined
            assertParamExists('unlinkLivingWageDict', 'livingWageDict', livingWageDict)
            const localVarPath = `/livingwagedicts`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<LivingWageDict>} livingWageDict Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateLivingWageDict: async (livingWageDict: Array<LivingWageDict>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'livingWageDict' is not null or undefined
            assertParamExists('updateLivingWageDict', 'livingWageDict', livingWageDict)
            const localVarPath = `/livingwagedicts`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

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

/**
 * LivingWageDictApi - functional programming interface
 * @export
 */
export const LivingWageDictApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = LivingWageDictApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countLivingWageDict(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countLivingWageDict(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<LivingWageDict>} livingWageDict Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createLivingWageDict(livingWageDict: Array<LivingWageDict>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createLivingWageDict(livingWageDict, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdLivingWageDict(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdLivingWageDict(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteLivingWageDict(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteLivingWageDict(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getLivingWageDict(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<LivingWageDict>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getLivingWageDict(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingLivingWageDict(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfLivingWageDict>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingLivingWageDict(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchLivingWageDict(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<LivingWageDict>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchLivingWageDict(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<LivingWageDict>} livingWageDict Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkLivingWageDict(livingWageDict: Array<LivingWageDict>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkLivingWageDict(livingWageDict, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<LivingWageDict>} livingWageDict Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateLivingWageDict(livingWageDict: Array<LivingWageDict>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateLivingWageDict(livingWageDict, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * LivingWageDictApi - factory interface
 * @export
 */
export const LivingWageDictApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = LivingWageDictApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countLivingWageDict(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countLivingWageDict(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<LivingWageDict>} livingWageDict Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createLivingWageDict(livingWageDict: Array<LivingWageDict>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createLivingWageDict(livingWageDict, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdLivingWageDict(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdLivingWageDict(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteLivingWageDict(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteLivingWageDict(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getLivingWageDict(id: string, expand?: string, options?: any): AxiosPromise<LivingWageDict> {
            return localVarFp.getLivingWageDict(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingLivingWageDict(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfLivingWageDict> {
            return localVarFp.pagingLivingWageDict(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchLivingWageDict(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<LivingWageDict>> {
            return localVarFp.searchLivingWageDict(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<LivingWageDict>} livingWageDict Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkLivingWageDict(livingWageDict: Array<LivingWageDict>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkLivingWageDict(livingWageDict, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<LivingWageDict>} livingWageDict Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateLivingWageDict(livingWageDict: Array<LivingWageDict>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateLivingWageDict(livingWageDict, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * LivingWageDictApi - object-oriented interface
 * @export
 * @class LivingWageDictApi
 * @extends {BaseAPI}
 */
export class LivingWageDictApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LivingWageDictApi
     */
    public countLivingWageDict(query?: string, fulltext?: string, options?: any) {
        return LivingWageDictApiFp(this.configuration).countLivingWageDict(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<LivingWageDict>} livingWageDict Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LivingWageDictApi
     */
    public createLivingWageDict(livingWageDict: Array<LivingWageDict>, options?: any) {
        return LivingWageDictApiFp(this.configuration).createLivingWageDict(livingWageDict, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LivingWageDictApi
     */
    public deleteByIdLivingWageDict(id: string, options?: any) {
        return LivingWageDictApiFp(this.configuration).deleteByIdLivingWageDict(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LivingWageDictApi
     */
    public deleteLivingWageDict(requestBody: Array<string>, options?: any) {
        return LivingWageDictApiFp(this.configuration).deleteLivingWageDict(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LivingWageDictApi
     */
    public getLivingWageDict(id: string, expand?: string, options?: any) {
        return LivingWageDictApiFp(this.configuration).getLivingWageDict(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LivingWageDictApi
     */
    public pagingLivingWageDict(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return LivingWageDictApiFp(this.configuration).pagingLivingWageDict(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LivingWageDictApi
     */
    public searchLivingWageDict(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return LivingWageDictApiFp(this.configuration).searchLivingWageDict(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<LivingWageDict>} livingWageDict Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LivingWageDictApi
     */
    public unlinkLivingWageDict(livingWageDict: Array<LivingWageDict>, options?: any) {
        return LivingWageDictApiFp(this.configuration).unlinkLivingWageDict(livingWageDict, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<LivingWageDict>} livingWageDict Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LivingWageDictApi
     */
    public updateLivingWageDict(livingWageDict: Array<LivingWageDict>, options?: any) {
        return LivingWageDictApiFp(this.configuration).updateLivingWageDict(livingWageDict, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * MappingConfigApi - axios parameter creator
 * @export
 */
export const MappingConfigApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countMappingConfig: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/mappingconfigs/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<MappingConfig>} mappingConfig Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createMappingConfig: async (mappingConfig: Array<MappingConfig>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'mappingConfig' is not null or undefined
            assertParamExists('createMappingConfig', 'mappingConfig', mappingConfig)
            const localVarPath = `/mappingconfigs`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdMappingConfig: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdMappingConfig', 'id', id)
            const localVarPath = `/mappingconfigs/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteMappingConfig: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteMappingConfig', 'requestBody', requestBody)
            const localVarPath = `/mappingconfigs`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getMappingConfig: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getMappingConfig', 'id', id)
            const localVarPath = `/mappingconfigs/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingMappingConfig: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/mappingconfigs`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchMappingConfig: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/mappingconfigs/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<MappingConfig>} mappingConfig Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkMappingConfig: async (mappingConfig: Array<MappingConfig>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'mappingConfig' is not null or undefined
            assertParamExists('unlinkMappingConfig', 'mappingConfig', mappingConfig)
            const localVarPath = `/mappingconfigs`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<MappingConfig>} mappingConfig Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateMappingConfig: async (mappingConfig: Array<MappingConfig>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'mappingConfig' is not null or undefined
            assertParamExists('updateMappingConfig', 'mappingConfig', mappingConfig)
            const localVarPath = `/mappingconfigs`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

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

/**
 * MappingConfigApi - functional programming interface
 * @export
 */
export const MappingConfigApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = MappingConfigApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countMappingConfig(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countMappingConfig(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<MappingConfig>} mappingConfig Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createMappingConfig(mappingConfig: Array<MappingConfig>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createMappingConfig(mappingConfig, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdMappingConfig(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdMappingConfig(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteMappingConfig(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteMappingConfig(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getMappingConfig(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MappingConfig>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getMappingConfig(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingMappingConfig(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfMappingConfig>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingMappingConfig(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchMappingConfig(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<MappingConfig>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchMappingConfig(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<MappingConfig>} mappingConfig Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkMappingConfig(mappingConfig: Array<MappingConfig>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkMappingConfig(mappingConfig, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<MappingConfig>} mappingConfig Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateMappingConfig(mappingConfig: Array<MappingConfig>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateMappingConfig(mappingConfig, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * MappingConfigApi - factory interface
 * @export
 */
export const MappingConfigApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = MappingConfigApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countMappingConfig(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countMappingConfig(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<MappingConfig>} mappingConfig Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createMappingConfig(mappingConfig: Array<MappingConfig>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createMappingConfig(mappingConfig, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdMappingConfig(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdMappingConfig(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteMappingConfig(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteMappingConfig(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getMappingConfig(id: string, expand?: string, options?: any): AxiosPromise<MappingConfig> {
            return localVarFp.getMappingConfig(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingMappingConfig(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfMappingConfig> {
            return localVarFp.pagingMappingConfig(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchMappingConfig(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<MappingConfig>> {
            return localVarFp.searchMappingConfig(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<MappingConfig>} mappingConfig Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkMappingConfig(mappingConfig: Array<MappingConfig>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkMappingConfig(mappingConfig, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<MappingConfig>} mappingConfig Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateMappingConfig(mappingConfig: Array<MappingConfig>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateMappingConfig(mappingConfig, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * MappingConfigApi - object-oriented interface
 * @export
 * @class MappingConfigApi
 * @extends {BaseAPI}
 */
export class MappingConfigApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MappingConfigApi
     */
    public countMappingConfig(query?: string, fulltext?: string, options?: any) {
        return MappingConfigApiFp(this.configuration).countMappingConfig(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<MappingConfig>} mappingConfig Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MappingConfigApi
     */
    public createMappingConfig(mappingConfig: Array<MappingConfig>, options?: any) {
        return MappingConfigApiFp(this.configuration).createMappingConfig(mappingConfig, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MappingConfigApi
     */
    public deleteByIdMappingConfig(id: string, options?: any) {
        return MappingConfigApiFp(this.configuration).deleteByIdMappingConfig(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MappingConfigApi
     */
    public deleteMappingConfig(requestBody: Array<string>, options?: any) {
        return MappingConfigApiFp(this.configuration).deleteMappingConfig(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MappingConfigApi
     */
    public getMappingConfig(id: string, expand?: string, options?: any) {
        return MappingConfigApiFp(this.configuration).getMappingConfig(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MappingConfigApi
     */
    public pagingMappingConfig(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return MappingConfigApiFp(this.configuration).pagingMappingConfig(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MappingConfigApi
     */
    public searchMappingConfig(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return MappingConfigApiFp(this.configuration).searchMappingConfig(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<MappingConfig>} mappingConfig Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MappingConfigApi
     */
    public unlinkMappingConfig(mappingConfig: Array<MappingConfig>, options?: any) {
        return MappingConfigApiFp(this.configuration).unlinkMappingConfig(mappingConfig, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<MappingConfig>} mappingConfig Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MappingConfigApi
     */
    public updateMappingConfig(mappingConfig: Array<MappingConfig>, options?: any) {
        return MappingConfigApiFp(this.configuration).updateMappingConfig(mappingConfig, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * ModelApi - axios parameter creator
 * @export
 */
export const ModelApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countModel: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/models/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Model>} model Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createModel: async (model: Array<Model>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'model' is not null or undefined
            assertParamExists('createModel', 'model', model)
            const localVarPath = `/models`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdModel: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdModel', 'id', id)
            const localVarPath = `/models/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteModel: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteModel', 'requestBody', requestBody)
            const localVarPath = `/models`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getModel: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getModel', 'id', id)
            const localVarPath = `/models/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingModel: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/models`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchModel: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/models/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Model>} model Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkModel: async (model: Array<Model>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'model' is not null or undefined
            assertParamExists('unlinkModel', 'model', model)
            const localVarPath = `/models`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Model>} model Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateModel: async (model: Array<Model>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'model' is not null or undefined
            assertParamExists('updateModel', 'model', model)
            const localVarPath = `/models`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

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

/**
 * ModelApi - functional programming interface
 * @export
 */
export const ModelApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = ModelApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countModel(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countModel(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Model>} model Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createModel(model: Array<Model>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createModel(model, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdModel(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdModel(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteModel(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteModel(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getModel(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Model>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getModel(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingModel(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfModel>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingModel(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchModel(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Model>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchModel(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Model>} model Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkModel(model: Array<Model>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkModel(model, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Model>} model Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateModel(model: Array<Model>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateModel(model, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * ModelApi - factory interface
 * @export
 */
export const ModelApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = ModelApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countModel(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countModel(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Model>} model Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createModel(model: Array<Model>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createModel(model, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdModel(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdModel(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteModel(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteModel(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getModel(id: string, expand?: string, options?: any): AxiosPromise<Model> {
            return localVarFp.getModel(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingModel(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfModel> {
            return localVarFp.pagingModel(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchModel(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<Model>> {
            return localVarFp.searchModel(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Model>} model Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkModel(model: Array<Model>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkModel(model, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Model>} model Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateModel(model: Array<Model>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateModel(model, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * ModelApi - object-oriented interface
 * @export
 * @class ModelApi
 * @extends {BaseAPI}
 */
export class ModelApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ModelApi
     */
    public countModel(query?: string, fulltext?: string, options?: any) {
        return ModelApiFp(this.configuration).countModel(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<Model>} model Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ModelApi
     */
    public createModel(model: Array<Model>, options?: any) {
        return ModelApiFp(this.configuration).createModel(model, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ModelApi
     */
    public deleteByIdModel(id: string, options?: any) {
        return ModelApiFp(this.configuration).deleteByIdModel(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ModelApi
     */
    public deleteModel(requestBody: Array<string>, options?: any) {
        return ModelApiFp(this.configuration).deleteModel(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ModelApi
     */
    public getModel(id: string, expand?: string, options?: any) {
        return ModelApiFp(this.configuration).getModel(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ModelApi
     */
    public pagingModel(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ModelApiFp(this.configuration).pagingModel(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ModelApi
     */
    public searchModel(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ModelApiFp(this.configuration).searchModel(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<Model>} model Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ModelApi
     */
    public unlinkModel(model: Array<Model>, options?: any) {
        return ModelApiFp(this.configuration).unlinkModel(model, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<Model>} model Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ModelApi
     */
    public updateModel(model: Array<Model>, options?: any) {
        return ModelApiFp(this.configuration).updateModel(model, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * OrganizationApi - axios parameter creator
 * @export
 */
export const OrganizationApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countOrganization: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/organizations/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Organization>} organization Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createOrganization: async (organization: Array<Organization>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'organization' is not null or undefined
            assertParamExists('createOrganization', 'organization', organization)
            const localVarPath = `/organizations`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdOrganization: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdOrganization', 'id', id)
            const localVarPath = `/organizations/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteOrganization: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteOrganization', 'requestBody', requestBody)
            const localVarPath = `/organizations`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов по идентификатору услуги
         * @param {string} id 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        filterOrganizationsByServiceId: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('filterOrganizationsByServiceId', 'id', id)
            const localVarPath = `/organizations/filter/service/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getOrganization: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getOrganization', 'id', id)
            const localVarPath = `/organizations/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingOrganization: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/organizations`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchOrganization: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/organizations/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов для страниц статистики
         * @param {Array<string>} requestBody 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchOrganizationForStats: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('searchOrganizationForStats', 'requestBody', requestBody)
            const localVarPath = `/organizations/recordsForStats`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Organization>} organization Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkOrganization: async (organization: Array<Organization>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'organization' is not null or undefined
            assertParamExists('unlinkOrganization', 'organization', organization)
            const localVarPath = `/organizations`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Organization>} organization Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateOrganization: async (organization: Array<Organization>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'organization' is not null or undefined
            assertParamExists('updateOrganization', 'organization', organization)
            const localVarPath = `/organizations`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

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

/**
 * OrganizationApi - functional programming interface
 * @export
 */
export const OrganizationApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = OrganizationApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countOrganization(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countOrganization(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Organization>} organization Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createOrganization(organization: Array<Organization>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createOrganization(organization, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdOrganization(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdOrganization(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteOrganization(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteOrganization(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов по идентификатору услуги
         * @param {string} id 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async filterOrganizationsByServiceId(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Organization>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.filterOrganizationsByServiceId(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getOrganization(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Organization>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getOrganization(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingOrganization(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfOrganization>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingOrganization(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchOrganization(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Organization>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchOrganization(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов для страниц статистики
         * @param {Array<string>} requestBody 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchOrganizationForStats(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<OrganizationForStats>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchOrganizationForStats(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Organization>} organization Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkOrganization(organization: Array<Organization>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkOrganization(organization, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Organization>} organization Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateOrganization(organization: Array<Organization>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateOrganization(organization, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * OrganizationApi - factory interface
 * @export
 */
export const OrganizationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = OrganizationApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countOrganization(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countOrganization(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Organization>} organization Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createOrganization(organization: Array<Organization>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createOrganization(organization, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdOrganization(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdOrganization(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteOrganization(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteOrganization(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов по идентификатору услуги
         * @param {string} id 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        filterOrganizationsByServiceId(id: string, options?: any): AxiosPromise<Array<Organization>> {
            return localVarFp.filterOrganizationsByServiceId(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getOrganization(id: string, expand?: string, options?: any): AxiosPromise<Organization> {
            return localVarFp.getOrganization(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingOrganization(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfOrganization> {
            return localVarFp.pagingOrganization(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchOrganization(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<Organization>> {
            return localVarFp.searchOrganization(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов для страниц статистики
         * @param {Array<string>} requestBody 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchOrganizationForStats(requestBody: Array<string>, options?: any): AxiosPromise<Array<OrganizationForStats>> {
            return localVarFp.searchOrganizationForStats(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Organization>} organization Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkOrganization(organization: Array<Organization>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkOrganization(organization, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Organization>} organization Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateOrganization(organization: Array<Organization>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateOrganization(organization, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * OrganizationApi - object-oriented interface
 * @export
 * @class OrganizationApi
 * @extends {BaseAPI}
 */
export class OrganizationApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OrganizationApi
     */
    public countOrganization(query?: string, fulltext?: string, options?: any) {
        return OrganizationApiFp(this.configuration).countOrganization(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<Organization>} organization Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OrganizationApi
     */
    public createOrganization(organization: Array<Organization>, options?: any) {
        return OrganizationApiFp(this.configuration).createOrganization(organization, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OrganizationApi
     */
    public deleteByIdOrganization(id: string, options?: any) {
        return OrganizationApiFp(this.configuration).deleteByIdOrganization(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OrganizationApi
     */
    public deleteOrganization(requestBody: Array<string>, options?: any) {
        return OrganizationApiFp(this.configuration).deleteOrganization(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов по идентификатору услуги
     * @param {string} id 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OrganizationApi
     */
    public filterOrganizationsByServiceId(id: string, options?: any) {
        return OrganizationApiFp(this.configuration).filterOrganizationsByServiceId(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OrganizationApi
     */
    public getOrganization(id: string, expand?: string, options?: any) {
        return OrganizationApiFp(this.configuration).getOrganization(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OrganizationApi
     */
    public pagingOrganization(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return OrganizationApiFp(this.configuration).pagingOrganization(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OrganizationApi
     */
    public searchOrganization(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return OrganizationApiFp(this.configuration).searchOrganization(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов для страниц статистики
     * @param {Array<string>} requestBody 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OrganizationApi
     */
    public searchOrganizationForStats(requestBody: Array<string>, options?: any) {
        return OrganizationApiFp(this.configuration).searchOrganizationForStats(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<Organization>} organization Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OrganizationApi
     */
    public unlinkOrganization(organization: Array<Organization>, options?: any) {
        return OrganizationApiFp(this.configuration).unlinkOrganization(organization, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<Organization>} organization Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OrganizationApi
     */
    public updateOrganization(organization: Array<Organization>, options?: any) {
        return OrganizationApiFp(this.configuration).updateOrganization(organization, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * PaymentApi - axios parameter creator
 * @export
 */
export const PaymentApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countPayment: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/payments/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Payment>} payment Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createPayment: async (payment: Array<Payment>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'payment' is not null or undefined
            assertParamExists('createPayment', 'payment', payment)
            const localVarPath = `/payments`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdPayment: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdPayment', 'id', id)
            const localVarPath = `/payments/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deletePayment: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deletePayment', 'requestBody', requestBody)
            const localVarPath = `/payments`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getPayment: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getPayment', 'id', id)
            const localVarPath = `/payments/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingPayment: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/payments`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchPayment: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/payments/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Payment>} payment Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkPayment: async (payment: Array<Payment>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'payment' is not null or undefined
            assertParamExists('unlinkPayment', 'payment', payment)
            const localVarPath = `/payments`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Payment>} payment Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updatePayment: async (payment: Array<Payment>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'payment' is not null or undefined
            assertParamExists('updatePayment', 'payment', payment)
            const localVarPath = `/payments`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

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

/**
 * PaymentApi - functional programming interface
 * @export
 */
export const PaymentApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = PaymentApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countPayment(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countPayment(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Payment>} payment Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createPayment(payment: Array<Payment>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createPayment(payment, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdPayment(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdPayment(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deletePayment(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deletePayment(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getPayment(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Payment>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getPayment(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingPayment(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfPayment>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingPayment(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchPayment(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Payment>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchPayment(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Payment>} payment Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkPayment(payment: Array<Payment>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkPayment(payment, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Payment>} payment Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updatePayment(payment: Array<Payment>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updatePayment(payment, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * PaymentApi - factory interface
 * @export
 */
export const PaymentApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = PaymentApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countPayment(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countPayment(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Payment>} payment Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createPayment(payment: Array<Payment>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createPayment(payment, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdPayment(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdPayment(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deletePayment(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deletePayment(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getPayment(id: string, expand?: string, options?: any): AxiosPromise<Payment> {
            return localVarFp.getPayment(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingPayment(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfPayment> {
            return localVarFp.pagingPayment(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchPayment(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<Payment>> {
            return localVarFp.searchPayment(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Payment>} payment Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkPayment(payment: Array<Payment>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkPayment(payment, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Payment>} payment Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updatePayment(payment: Array<Payment>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updatePayment(payment, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * PaymentApi - object-oriented interface
 * @export
 * @class PaymentApi
 * @extends {BaseAPI}
 */
export class PaymentApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentApi
     */
    public countPayment(query?: string, fulltext?: string, options?: any) {
        return PaymentApiFp(this.configuration).countPayment(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<Payment>} payment Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentApi
     */
    public createPayment(payment: Array<Payment>, options?: any) {
        return PaymentApiFp(this.configuration).createPayment(payment, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentApi
     */
    public deleteByIdPayment(id: string, options?: any) {
        return PaymentApiFp(this.configuration).deleteByIdPayment(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentApi
     */
    public deletePayment(requestBody: Array<string>, options?: any) {
        return PaymentApiFp(this.configuration).deletePayment(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentApi
     */
    public getPayment(id: string, expand?: string, options?: any) {
        return PaymentApiFp(this.configuration).getPayment(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentApi
     */
    public pagingPayment(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return PaymentApiFp(this.configuration).pagingPayment(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentApi
     */
    public searchPayment(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return PaymentApiFp(this.configuration).searchPayment(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<Payment>} payment Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentApi
     */
    public unlinkPayment(payment: Array<Payment>, options?: any) {
        return PaymentApiFp(this.configuration).unlinkPayment(payment, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<Payment>} payment Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentApi
     */
    public updatePayment(payment: Array<Payment>, options?: any) {
        return PaymentApiFp(this.configuration).updatePayment(payment, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * PaymentsApi - axios parameter creator
 * @export
 */
export const PaymentsApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * Возвращает список объектов c пагинацией
         * @summary Возвращает список объектов
         * @param {string} personId 
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [body] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getPersonDetailedPayments: async (personId: string, page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, body?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'personId' is not null or undefined
            assertParamExists('getPersonDetailedPayments', 'personId', personId)
            const localVarPath = `/person-detailed-payments/{personId}`
                .replace(`{${"personId"}}`, encodeURIComponent(String(personId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

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

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

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

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

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


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

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

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

/**
 * PaymentsApi - functional programming interface
 * @export
 */
export const PaymentsApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = PaymentsApiAxiosParamCreator(configuration)
    return {
        /**
         * Возвращает список объектов c пагинацией
         * @summary Возвращает список объектов
         * @param {string} personId 
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [body] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getPersonDetailedPayments(personId: string, page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, body?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfPersonOrderResponseDto>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getPersonDetailedPayments(personId, page, perPage, query, fulltext, sort, body, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * PaymentsApi - factory interface
 * @export
 */
export const PaymentsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = PaymentsApiFp(configuration)
    return {
        /**
         * Возвращает список объектов c пагинацией
         * @summary Возвращает список объектов
         * @param {string} personId 
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [body] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getPersonDetailedPayments(personId: string, page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, body?: string, options?: any): AxiosPromise<PageOfPersonOrderResponseDto> {
            return localVarFp.getPersonDetailedPayments(personId, page, perPage, query, fulltext, sort, body, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * PaymentsApi - object-oriented interface
 * @export
 * @class PaymentsApi
 * @extends {BaseAPI}
 */
export class PaymentsApi extends BaseAPI {
    /**
     * Возвращает список объектов c пагинацией
     * @summary Возвращает список объектов
     * @param {string} personId 
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [body] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PaymentsApi
     */
    public getPersonDetailedPayments(personId: string, page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, body?: string, options?: any) {
        return PaymentsApiFp(this.configuration).getPersonDetailedPayments(personId, page, perPage, query, fulltext, sort, body, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * ProcessApi - axios parameter creator
 * @export
 */
export const ProcessApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countProcess: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/processes/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Process>} process Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createProcess: async (process: Array<Process>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'process' is not null or undefined
            assertParamExists('createProcess', 'process', process)
            const localVarPath = `/processes`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdProcess: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdProcess', 'id', id)
            const localVarPath = `/processes/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteProcess: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteProcess', 'requestBody', requestBody)
            const localVarPath = `/processes`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getProcess: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getProcess', 'id', id)
            const localVarPath = `/processes/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingProcess: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/processes`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (page !== undefined) {
                localVarQueryParameter['page'] = page;
            }

            if (perPage !== undefined) {
                localVarQueryParameter['perPage'] = perPage;
            }

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchProcess: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/processes/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Process>} process Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkProcess: async (process: Array<Process>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'process' is not null or undefined
            assertParamExists('unlinkProcess', 'process', process)
            const localVarPath = `/processes`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(process, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Process>} process Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateProcess: async (process: Array<Process>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'process' is not null or undefined
            assertParamExists('updateProcess', 'process', process)
            const localVarPath = `/processes`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(process, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * ProcessApi - functional programming interface
 * @export
 */
export const ProcessApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = ProcessApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countProcess(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countProcess(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Process>} process Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createProcess(process: Array<Process>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createProcess(process, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdProcess(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdProcess(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteProcess(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteProcess(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getProcess(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Process>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getProcess(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingProcess(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfProcess>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingProcess(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchProcess(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Process>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchProcess(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Process>} process Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkProcess(process: Array<Process>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkProcess(process, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Process>} process Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateProcess(process: Array<Process>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateProcess(process, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * ProcessApi - factory interface
 * @export
 */
export const ProcessApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = ProcessApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countProcess(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countProcess(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Process>} process Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createProcess(process: Array<Process>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createProcess(process, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdProcess(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdProcess(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteProcess(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteProcess(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getProcess(id: string, expand?: string, options?: any): AxiosPromise<Process> {
            return localVarFp.getProcess(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingProcess(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfProcess> {
            return localVarFp.pagingProcess(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchProcess(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<Process>> {
            return localVarFp.searchProcess(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Process>} process Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkProcess(process: Array<Process>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkProcess(process, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Process>} process Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateProcess(process: Array<Process>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateProcess(process, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * ProcessApi - object-oriented interface
 * @export
 * @class ProcessApi
 * @extends {BaseAPI}
 */
export class ProcessApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ProcessApi
     */
    public countProcess(query?: string, fulltext?: string, options?: any) {
        return ProcessApiFp(this.configuration).countProcess(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<Process>} process Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ProcessApi
     */
    public createProcess(process: Array<Process>, options?: any) {
        return ProcessApiFp(this.configuration).createProcess(process, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ProcessApi
     */
    public deleteByIdProcess(id: string, options?: any) {
        return ProcessApiFp(this.configuration).deleteByIdProcess(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ProcessApi
     */
    public deleteProcess(requestBody: Array<string>, options?: any) {
        return ProcessApiFp(this.configuration).deleteProcess(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ProcessApi
     */
    public getProcess(id: string, expand?: string, options?: any) {
        return ProcessApiFp(this.configuration).getProcess(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ProcessApi
     */
    public pagingProcess(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ProcessApiFp(this.configuration).pagingProcess(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ProcessApi
     */
    public searchProcess(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ProcessApiFp(this.configuration).searchProcess(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<Process>} process Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ProcessApi
     */
    public unlinkProcess(process: Array<Process>, options?: any) {
        return ProcessApiFp(this.configuration).unlinkProcess(process, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<Process>} process Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ProcessApi
     */
    public updateProcess(process: Array<Process>, options?: any) {
        return ProcessApiFp(this.configuration).updateProcess(process, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * RegistryApi - axios parameter creator
 * @export
 */
export const RegistryApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countRegistry: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/registries/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Registry>} registry Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createRegistry: async (registry: Array<Registry>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'registry' is not null or undefined
            assertParamExists('createRegistry', 'registry', registry)
            const localVarPath = `/registries`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(registry, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdRegistry: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdRegistry', 'id', id)
            const localVarPath = `/registries/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteRegistry: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteRegistry', 'requestBody', requestBody)
            const localVarPath = `/registries`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRegistry: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getRegistry', 'id', id)
            const localVarPath = `/registries/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingRegistry: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/registries`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (page !== undefined) {
                localVarQueryParameter['page'] = page;
            }

            if (perPage !== undefined) {
                localVarQueryParameter['perPage'] = perPage;
            }

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchRegistry: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/registries/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Registry>} registry Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkRegistry: async (registry: Array<Registry>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'registry' is not null or undefined
            assertParamExists('unlinkRegistry', 'registry', registry)
            const localVarPath = `/registries`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(registry, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Registry>} registry Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateRegistry: async (registry: Array<Registry>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'registry' is not null or undefined
            assertParamExists('updateRegistry', 'registry', registry)
            const localVarPath = `/registries`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(registry, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * RegistryApi - functional programming interface
 * @export
 */
export const RegistryApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = RegistryApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countRegistry(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countRegistry(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Registry>} registry Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createRegistry(registry: Array<Registry>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createRegistry(registry, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdRegistry(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdRegistry(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteRegistry(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteRegistry(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getRegistry(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Registry>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getRegistry(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingRegistry(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfRegistry>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingRegistry(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchRegistry(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Registry>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchRegistry(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Registry>} registry Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkRegistry(registry: Array<Registry>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkRegistry(registry, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Registry>} registry Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateRegistry(registry: Array<Registry>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateRegistry(registry, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * RegistryApi - factory interface
 * @export
 */
export const RegistryApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = RegistryApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countRegistry(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countRegistry(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Registry>} registry Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createRegistry(registry: Array<Registry>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createRegistry(registry, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdRegistry(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdRegistry(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteRegistry(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteRegistry(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRegistry(id: string, expand?: string, options?: any): AxiosPromise<Registry> {
            return localVarFp.getRegistry(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingRegistry(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfRegistry> {
            return localVarFp.pagingRegistry(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchRegistry(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<Registry>> {
            return localVarFp.searchRegistry(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Registry>} registry Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkRegistry(registry: Array<Registry>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkRegistry(registry, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Registry>} registry Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateRegistry(registry: Array<Registry>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateRegistry(registry, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * RegistryApi - object-oriented interface
 * @export
 * @class RegistryApi
 * @extends {BaseAPI}
 */
export class RegistryApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryApi
     */
    public countRegistry(query?: string, fulltext?: string, options?: any) {
        return RegistryApiFp(this.configuration).countRegistry(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<Registry>} registry Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryApi
     */
    public createRegistry(registry: Array<Registry>, options?: any) {
        return RegistryApiFp(this.configuration).createRegistry(registry, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryApi
     */
    public deleteByIdRegistry(id: string, options?: any) {
        return RegistryApiFp(this.configuration).deleteByIdRegistry(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryApi
     */
    public deleteRegistry(requestBody: Array<string>, options?: any) {
        return RegistryApiFp(this.configuration).deleteRegistry(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryApi
     */
    public getRegistry(id: string, expand?: string, options?: any) {
        return RegistryApiFp(this.configuration).getRegistry(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryApi
     */
    public pagingRegistry(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return RegistryApiFp(this.configuration).pagingRegistry(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryApi
     */
    public searchRegistry(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return RegistryApiFp(this.configuration).searchRegistry(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<Registry>} registry Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryApi
     */
    public unlinkRegistry(registry: Array<Registry>, options?: any) {
        return RegistryApiFp(this.configuration).unlinkRegistry(registry, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<Registry>} registry Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryApi
     */
    public updateRegistry(registry: Array<Registry>, options?: any) {
        return RegistryApiFp(this.configuration).updateRegistry(registry, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * RegistryMappingApi - axios parameter creator
 * @export
 */
export const RegistryMappingApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countRegistryMapping: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/registry/mapping/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryMapping>} registryMapping Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createRegistryMapping: async (registryMapping: Array<RegistryMapping>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'registryMapping' is not null or undefined
            assertParamExists('createRegistryMapping', 'registryMapping', registryMapping)
            const localVarPath = `/registry/mapping`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(registryMapping, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryMapping>} registryMapping Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createRegistryMappingWithRegistry: async (registryMapping: Array<RegistryMapping>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'registryMapping' is not null or undefined
            assertParamExists('createRegistryMappingWithRegistry', 'registryMapping', registryMapping)
            const localVarPath = `/registry/mapping/with-registry`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(registryMapping, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdRegistryMapping: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdRegistryMapping', 'id', id)
            const localVarPath = `/registry/mapping/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteRegistryMapping: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteRegistryMapping', 'requestBody', requestBody)
            const localVarPath = `/registry/mapping`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRegistryMapping: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getRegistryMapping', 'id', id)
            const localVarPath = `/registry/mapping/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingRegistryMapping: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/registry/mapping`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (page !== undefined) {
                localVarQueryParameter['page'] = page;
            }

            if (perPage !== undefined) {
                localVarQueryParameter['perPage'] = perPage;
            }

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchRegistryMapping: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/registry/mapping/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<RegistryMapping>} registryMapping Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkRegistryMapping: async (registryMapping: Array<RegistryMapping>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'registryMapping' is not null or undefined
            assertParamExists('unlinkRegistryMapping', 'registryMapping', registryMapping)
            const localVarPath = `/registry/mapping`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(registryMapping, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<RegistryMapping>} registryMapping Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateRegistryMapping: async (registryMapping: Array<RegistryMapping>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'registryMapping' is not null or undefined
            assertParamExists('updateRegistryMapping', 'registryMapping', registryMapping)
            const localVarPath = `/registry/mapping`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(registryMapping, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * RegistryMappingApi - functional programming interface
 * @export
 */
export const RegistryMappingApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = RegistryMappingApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countRegistryMapping(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countRegistryMapping(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryMapping>} registryMapping Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createRegistryMapping(registryMapping: Array<RegistryMapping>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createRegistryMapping(registryMapping, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryMapping>} registryMapping Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createRegistryMappingWithRegistry(registryMapping: Array<RegistryMapping>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<RegistryMappingRelationDTO>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createRegistryMappingWithRegistry(registryMapping, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdRegistryMapping(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdRegistryMapping(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteRegistryMapping(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteRegistryMapping(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getRegistryMapping(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RegistryMapping>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getRegistryMapping(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingRegistryMapping(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfRegistryMapping>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingRegistryMapping(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchRegistryMapping(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<RegistryMapping>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchRegistryMapping(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<RegistryMapping>} registryMapping Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkRegistryMapping(registryMapping: Array<RegistryMapping>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkRegistryMapping(registryMapping, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<RegistryMapping>} registryMapping Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateRegistryMapping(registryMapping: Array<RegistryMapping>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateRegistryMapping(registryMapping, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * RegistryMappingApi - factory interface
 * @export
 */
export const RegistryMappingApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = RegistryMappingApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countRegistryMapping(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countRegistryMapping(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryMapping>} registryMapping Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createRegistryMapping(registryMapping: Array<RegistryMapping>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createRegistryMapping(registryMapping, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryMapping>} registryMapping Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createRegistryMappingWithRegistry(registryMapping: Array<RegistryMapping>, options?: any): AxiosPromise<Array<RegistryMappingRelationDTO>> {
            return localVarFp.createRegistryMappingWithRegistry(registryMapping, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdRegistryMapping(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdRegistryMapping(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteRegistryMapping(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteRegistryMapping(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRegistryMapping(id: string, expand?: string, options?: any): AxiosPromise<RegistryMapping> {
            return localVarFp.getRegistryMapping(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingRegistryMapping(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfRegistryMapping> {
            return localVarFp.pagingRegistryMapping(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchRegistryMapping(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<RegistryMapping>> {
            return localVarFp.searchRegistryMapping(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<RegistryMapping>} registryMapping Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkRegistryMapping(registryMapping: Array<RegistryMapping>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkRegistryMapping(registryMapping, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<RegistryMapping>} registryMapping Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateRegistryMapping(registryMapping: Array<RegistryMapping>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateRegistryMapping(registryMapping, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * RegistryMappingApi - object-oriented interface
 * @export
 * @class RegistryMappingApi
 * @extends {BaseAPI}
 */
export class RegistryMappingApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryMappingApi
     */
    public countRegistryMapping(query?: string, fulltext?: string, options?: any) {
        return RegistryMappingApiFp(this.configuration).countRegistryMapping(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<RegistryMapping>} registryMapping Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryMappingApi
     */
    public createRegistryMapping(registryMapping: Array<RegistryMapping>, options?: any) {
        return RegistryMappingApiFp(this.configuration).createRegistryMapping(registryMapping, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<RegistryMapping>} registryMapping Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryMappingApi
     */
    public createRegistryMappingWithRegistry(registryMapping: Array<RegistryMapping>, options?: any) {
        return RegistryMappingApiFp(this.configuration).createRegistryMappingWithRegistry(registryMapping, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryMappingApi
     */
    public deleteByIdRegistryMapping(id: string, options?: any) {
        return RegistryMappingApiFp(this.configuration).deleteByIdRegistryMapping(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryMappingApi
     */
    public deleteRegistryMapping(requestBody: Array<string>, options?: any) {
        return RegistryMappingApiFp(this.configuration).deleteRegistryMapping(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryMappingApi
     */
    public getRegistryMapping(id: string, expand?: string, options?: any) {
        return RegistryMappingApiFp(this.configuration).getRegistryMapping(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryMappingApi
     */
    public pagingRegistryMapping(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return RegistryMappingApiFp(this.configuration).pagingRegistryMapping(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryMappingApi
     */
    public searchRegistryMapping(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return RegistryMappingApiFp(this.configuration).searchRegistryMapping(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<RegistryMapping>} registryMapping Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryMappingApi
     */
    public unlinkRegistryMapping(registryMapping: Array<RegistryMapping>, options?: any) {
        return RegistryMappingApiFp(this.configuration).unlinkRegistryMapping(registryMapping, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<RegistryMapping>} registryMapping Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryMappingApi
     */
    public updateRegistryMapping(registryMapping: Array<RegistryMapping>, options?: any) {
        return RegistryMappingApiFp(this.configuration).updateRegistryMapping(registryMapping, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * RegistryOrderApi - axios parameter creator
 * @export
 */
export const RegistryOrderApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countRegistryOrder: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/registriesorder/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryOrder>} registryOrder Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createRegistryOrder: async (registryOrder: Array<RegistryOrder>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'registryOrder' is not null or undefined
            assertParamExists('createRegistryOrder', 'registryOrder', registryOrder)
            const localVarPath = `/registriesorder`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(registryOrder, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdRegistryOrder: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdRegistryOrder', 'id', id)
            const localVarPath = `/registriesorder/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteRegistryOrder: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteRegistryOrder', 'requestBody', requestBody)
            const localVarPath = `/registriesorder`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRegistryOrder: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getRegistryOrder', 'id', id)
            const localVarPath = `/registriesorder/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingRegistryOrder: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/registriesorder`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (page !== undefined) {
                localVarQueryParameter['page'] = page;
            }

            if (perPage !== undefined) {
                localVarQueryParameter['perPage'] = perPage;
            }

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchRegistryOrder: async (query?: string, fulltext?: string, sort?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/registriesorder/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<RegistryOrder>} registryOrder Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkRegistryOrder: async (registryOrder: Array<RegistryOrder>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'registryOrder' is not null or undefined
            assertParamExists('unlinkRegistryOrder', 'registryOrder', registryOrder)
            const localVarPath = `/registriesorder`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(registryOrder, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<RegistryOrder>} registryOrder Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateRegistryOrder: async (registryOrder: Array<RegistryOrder>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'registryOrder' is not null or undefined
            assertParamExists('updateRegistryOrder', 'registryOrder', registryOrder)
            const localVarPath = `/registriesorder`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(registryOrder, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * RegistryOrderApi - functional programming interface
 * @export
 */
export const RegistryOrderApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = RegistryOrderApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countRegistryOrder(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countRegistryOrder(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryOrder>} registryOrder Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createRegistryOrder(registryOrder: Array<RegistryOrder>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createRegistryOrder(registryOrder, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdRegistryOrder(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdRegistryOrder(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteRegistryOrder(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteRegistryOrder(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getRegistryOrder(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RegistryOrder>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getRegistryOrder(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingRegistryOrder(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfRegistryOrder>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingRegistryOrder(page, perPage, query, fulltext, sort, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchRegistryOrder(query?: string, fulltext?: string, sort?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<RegistryOrder>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchRegistryOrder(query, fulltext, sort, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<RegistryOrder>} registryOrder Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkRegistryOrder(registryOrder: Array<RegistryOrder>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkRegistryOrder(registryOrder, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<RegistryOrder>} registryOrder Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateRegistryOrder(registryOrder: Array<RegistryOrder>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateRegistryOrder(registryOrder, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * RegistryOrderApi - factory interface
 * @export
 */
export const RegistryOrderApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = RegistryOrderApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countRegistryOrder(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countRegistryOrder(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryOrder>} registryOrder Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createRegistryOrder(registryOrder: Array<RegistryOrder>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createRegistryOrder(registryOrder, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdRegistryOrder(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdRegistryOrder(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteRegistryOrder(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteRegistryOrder(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRegistryOrder(id: string, options?: any): AxiosPromise<RegistryOrder> {
            return localVarFp.getRegistryOrder(id, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingRegistryOrder(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, options?: any): AxiosPromise<PageOfRegistryOrder> {
            return localVarFp.pagingRegistryOrder(page, perPage, query, fulltext, sort, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchRegistryOrder(query?: string, fulltext?: string, sort?: string, options?: any): AxiosPromise<Array<RegistryOrder>> {
            return localVarFp.searchRegistryOrder(query, fulltext, sort, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<RegistryOrder>} registryOrder Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkRegistryOrder(registryOrder: Array<RegistryOrder>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkRegistryOrder(registryOrder, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<RegistryOrder>} registryOrder Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateRegistryOrder(registryOrder: Array<RegistryOrder>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateRegistryOrder(registryOrder, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * RegistryOrderApi - object-oriented interface
 * @export
 * @class RegistryOrderApi
 * @extends {BaseAPI}
 */
export class RegistryOrderApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryOrderApi
     */
    public countRegistryOrder(query?: string, fulltext?: string, options?: any) {
        return RegistryOrderApiFp(this.configuration).countRegistryOrder(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<RegistryOrder>} registryOrder Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryOrderApi
     */
    public createRegistryOrder(registryOrder: Array<RegistryOrder>, options?: any) {
        return RegistryOrderApiFp(this.configuration).createRegistryOrder(registryOrder, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryOrderApi
     */
    public deleteByIdRegistryOrder(id: string, options?: any) {
        return RegistryOrderApiFp(this.configuration).deleteByIdRegistryOrder(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryOrderApi
     */
    public deleteRegistryOrder(requestBody: Array<string>, options?: any) {
        return RegistryOrderApiFp(this.configuration).deleteRegistryOrder(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryOrderApi
     */
    public getRegistryOrder(id: string, options?: any) {
        return RegistryOrderApiFp(this.configuration).getRegistryOrder(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryOrderApi
     */
    public pagingRegistryOrder(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, options?: any) {
        return RegistryOrderApiFp(this.configuration).pagingRegistryOrder(page, perPage, query, fulltext, sort, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryOrderApi
     */
    public searchRegistryOrder(query?: string, fulltext?: string, sort?: string, options?: any) {
        return RegistryOrderApiFp(this.configuration).searchRegistryOrder(query, fulltext, sort, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<RegistryOrder>} registryOrder Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryOrderApi
     */
    public unlinkRegistryOrder(registryOrder: Array<RegistryOrder>, options?: any) {
        return RegistryOrderApiFp(this.configuration).unlinkRegistryOrder(registryOrder, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<RegistryOrder>} registryOrder Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryOrderApi
     */
    public updateRegistryOrder(registryOrder: Array<RegistryOrder>, options?: any) {
        return RegistryOrderApiFp(this.configuration).updateRegistryOrder(registryOrder, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * RegistryPaymentApi - axios parameter creator
 * @export
 */
export const RegistryPaymentApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countRegistryPayment: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/registriespayment/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryPayment>} registryPayment Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createRegistryPayment: async (registryPayment: Array<RegistryPayment>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'registryPayment' is not null or undefined
            assertParamExists('createRegistryPayment', 'registryPayment', registryPayment)
            const localVarPath = `/registriespayment`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(registryPayment, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdRegistryPayment: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdRegistryPayment', 'id', id)
            const localVarPath = `/registriespayment/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteRegistryPayment: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteRegistryPayment', 'requestBody', requestBody)
            const localVarPath = `/registriespayment`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRegistryPayment: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getRegistryPayment', 'id', id)
            const localVarPath = `/registriespayment/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingRegistryPayment: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/registriespayment`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (page !== undefined) {
                localVarQueryParameter['page'] = page;
            }

            if (perPage !== undefined) {
                localVarQueryParameter['perPage'] = perPage;
            }

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchRegistryPayment: async (query?: string, fulltext?: string, sort?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/registriespayment/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<RegistryPayment>} registryPayment Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkRegistryPayment: async (registryPayment: Array<RegistryPayment>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'registryPayment' is not null or undefined
            assertParamExists('unlinkRegistryPayment', 'registryPayment', registryPayment)
            const localVarPath = `/registriespayment`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(registryPayment, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<RegistryPayment>} registryPayment Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateRegistryPayment: async (registryPayment: Array<RegistryPayment>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'registryPayment' is not null or undefined
            assertParamExists('updateRegistryPayment', 'registryPayment', registryPayment)
            const localVarPath = `/registriespayment`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(registryPayment, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * RegistryPaymentApi - functional programming interface
 * @export
 */
export const RegistryPaymentApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = RegistryPaymentApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countRegistryPayment(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countRegistryPayment(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryPayment>} registryPayment Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createRegistryPayment(registryPayment: Array<RegistryPayment>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createRegistryPayment(registryPayment, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdRegistryPayment(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdRegistryPayment(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteRegistryPayment(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteRegistryPayment(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getRegistryPayment(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RegistryPayment>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getRegistryPayment(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingRegistryPayment(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfRegistryPayment>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingRegistryPayment(page, perPage, query, fulltext, sort, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchRegistryPayment(query?: string, fulltext?: string, sort?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<RegistryPayment>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchRegistryPayment(query, fulltext, sort, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<RegistryPayment>} registryPayment Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkRegistryPayment(registryPayment: Array<RegistryPayment>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkRegistryPayment(registryPayment, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<RegistryPayment>} registryPayment Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateRegistryPayment(registryPayment: Array<RegistryPayment>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateRegistryPayment(registryPayment, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * RegistryPaymentApi - factory interface
 * @export
 */
export const RegistryPaymentApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = RegistryPaymentApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countRegistryPayment(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countRegistryPayment(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryPayment>} registryPayment Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createRegistryPayment(registryPayment: Array<RegistryPayment>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createRegistryPayment(registryPayment, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdRegistryPayment(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdRegistryPayment(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteRegistryPayment(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteRegistryPayment(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRegistryPayment(id: string, options?: any): AxiosPromise<RegistryPayment> {
            return localVarFp.getRegistryPayment(id, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingRegistryPayment(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, options?: any): AxiosPromise<PageOfRegistryPayment> {
            return localVarFp.pagingRegistryPayment(page, perPage, query, fulltext, sort, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchRegistryPayment(query?: string, fulltext?: string, sort?: string, options?: any): AxiosPromise<Array<RegistryPayment>> {
            return localVarFp.searchRegistryPayment(query, fulltext, sort, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<RegistryPayment>} registryPayment Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkRegistryPayment(registryPayment: Array<RegistryPayment>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkRegistryPayment(registryPayment, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<RegistryPayment>} registryPayment Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateRegistryPayment(registryPayment: Array<RegistryPayment>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateRegistryPayment(registryPayment, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * RegistryPaymentApi - object-oriented interface
 * @export
 * @class RegistryPaymentApi
 * @extends {BaseAPI}
 */
export class RegistryPaymentApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryPaymentApi
     */
    public countRegistryPayment(query?: string, fulltext?: string, options?: any) {
        return RegistryPaymentApiFp(this.configuration).countRegistryPayment(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<RegistryPayment>} registryPayment Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryPaymentApi
     */
    public createRegistryPayment(registryPayment: Array<RegistryPayment>, options?: any) {
        return RegistryPaymentApiFp(this.configuration).createRegistryPayment(registryPayment, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryPaymentApi
     */
    public deleteByIdRegistryPayment(id: string, options?: any) {
        return RegistryPaymentApiFp(this.configuration).deleteByIdRegistryPayment(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryPaymentApi
     */
    public deleteRegistryPayment(requestBody: Array<string>, options?: any) {
        return RegistryPaymentApiFp(this.configuration).deleteRegistryPayment(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryPaymentApi
     */
    public getRegistryPayment(id: string, options?: any) {
        return RegistryPaymentApiFp(this.configuration).getRegistryPayment(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryPaymentApi
     */
    public pagingRegistryPayment(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, options?: any) {
        return RegistryPaymentApiFp(this.configuration).pagingRegistryPayment(page, perPage, query, fulltext, sort, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryPaymentApi
     */
    public searchRegistryPayment(query?: string, fulltext?: string, sort?: string, options?: any) {
        return RegistryPaymentApiFp(this.configuration).searchRegistryPayment(query, fulltext, sort, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<RegistryPayment>} registryPayment Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryPaymentApi
     */
    public unlinkRegistryPayment(registryPayment: Array<RegistryPayment>, options?: any) {
        return RegistryPaymentApiFp(this.configuration).unlinkRegistryPayment(registryPayment, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<RegistryPayment>} registryPayment Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryPaymentApi
     */
    public updateRegistryPayment(registryPayment: Array<RegistryPayment>, options?: any) {
        return RegistryPaymentApiFp(this.configuration).updateRegistryPayment(registryPayment, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * RegistryTableApi - axios parameter creator
 * @export
 */
export const RegistryTableApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryTable>} registryTable Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createRegistryTable: async (registryTable: Array<RegistryTable>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'registryTable' is not null or undefined
            assertParamExists('createRegistryTable', 'registryTable', registryTable)
            const localVarPath = `/registry/table`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(registryTable, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRegistryTable: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getRegistryTable', 'id', id)
            const localVarPath = `/registry/table/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<RegistryTable>} registryTable Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateRegistryTable: async (registryTable: Array<RegistryTable>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'registryTable' is not null or undefined
            assertParamExists('updateRegistryTable', 'registryTable', registryTable)
            const localVarPath = `/registry/table`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(registryTable, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * RegistryTableApi - functional programming interface
 * @export
 */
export const RegistryTableApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = RegistryTableApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryTable>} registryTable Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createRegistryTable(registryTable: Array<RegistryTable>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createRegistryTable(registryTable, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getRegistryTable(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RegistryTable>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getRegistryTable(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<RegistryTable>} registryTable Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateRegistryTable(registryTable: Array<RegistryTable>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateRegistryTable(registryTable, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * RegistryTableApi - factory interface
 * @export
 */
export const RegistryTableApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = RegistryTableApiFp(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryTable>} registryTable Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createRegistryTable(registryTable: Array<RegistryTable>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createRegistryTable(registryTable, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRegistryTable(id: string, expand?: string, options?: any): AxiosPromise<RegistryTable> {
            return localVarFp.getRegistryTable(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<RegistryTable>} registryTable Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateRegistryTable(registryTable: Array<RegistryTable>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateRegistryTable(registryTable, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * RegistryTableApi - object-oriented interface
 * @export
 * @class RegistryTableApi
 * @extends {BaseAPI}
 */
export class RegistryTableApi extends BaseAPI {
    /**
     * 
     * @summary Создает новый объект
     * @param {Array<RegistryTable>} registryTable Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryTableApi
     */
    public createRegistryTable(registryTable: Array<RegistryTable>, options?: any) {
        return RegistryTableApiFp(this.configuration).createRegistryTable(registryTable, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryTableApi
     */
    public getRegistryTable(id: string, expand?: string, options?: any) {
        return RegistryTableApiFp(this.configuration).getRegistryTable(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<RegistryTable>} registryTable Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RegistryTableApi
     */
    public updateRegistryTable(registryTable: Array<RegistryTable>, options?: any) {
        return RegistryTableApiFp(this.configuration).updateRegistryTable(registryTable, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * ServiceApi - axios parameter creator
 * @export
 */
export const ServiceApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Проверка условия
         * @param {Array<Service>} service Объект условия
         * @param {*} [options] Override http request option.
         * @deprecated
         * @throws {RequiredError}
         */
        condition: async (service: Array<Service>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'service' is not null or undefined
            assertParamExists('condition', 'service', service)
            const localVarPath = `/services/condition`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(service, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создаёт дубликат указанной услуги
         * @param {string} id 
         * @param {string} body Copy parameters
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        copyService: async (id: string, body: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('copyService', 'id', id)
            // verify required parameter 'body' is not null or undefined
            assertParamExists('copyService', 'body', body)
            const localVarPath = `/services/{id}/copy`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countService: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/services/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Service>} service Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createService: async (service: Array<Service>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'service' is not null or undefined
            assertParamExists('createService', 'service', service)
            const localVarPath = `/services`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(service, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdService: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdService', 'id', id)
            const localVarPath = `/services/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteService: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteService', 'requestBody', requestBody)
            const localVarPath = `/services`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Отдает Список отфильтрованных проверок применимых для переданного заявления
         * @param {string} id 
         * @param {string} body Object of application
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        filterServiceVerificationsByApplication: async (id: string, body: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('filterServiceVerificationsByApplication', 'id', id)
            // verify required parameter 'body' is not null or undefined
            assertParamExists('filterServiceVerificationsByApplication', 'body', body)
            const localVarPath = `/services/{id}/verifications/filter`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getService: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getService', 'id', id)
            const localVarPath = `/services/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingService: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/services`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (page !== undefined) {
                localVarQueryParameter['page'] = page;
            }

            if (perPage !== undefined) {
                localVarQueryParameter['perPage'] = perPage;
            }

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список всех объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchService: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/services/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список публичных объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchService1: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/services/publicRecords`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов для страниц статистики
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchServiceForStats: async (options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/services/recordsForStats`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Отдает CheckList для Service
         * @param {string} id 
         * @param {Array<DecisionObjectTO>} decisionObjectTO Decision Objects для Check List
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceCheckList: async (id: string, decisionObjectTO: Array<DecisionObjectTO>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('serviceCheckList', 'id', id)
            // verify required parameter 'decisionObjectTO' is not null or undefined
            assertParamExists('serviceCheckList', 'decisionObjectTO', decisionObjectTO)
            const localVarPath = `/services/{id}/checks`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(decisionObjectTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Отдает Rejects для Service
         * @param {string} id 
         * @param {string} [goal] Goal фильтр для rejects
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceRejects: async (id: string, goal?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('serviceRejects', 'id', id)
            const localVarPath = `/services/{id}/rejects`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (goal !== undefined) {
                localVarQueryParameter['goal'] = goal;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Service>} service Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkService: async (service: Array<Service>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'service' is not null or undefined
            assertParamExists('unlinkService', 'service', service)
            const localVarPath = `/services`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(service, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Service>} service Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateService: async (service: Array<Service>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'service' is not null or undefined
            assertParamExists('updateService', 'service', service)
            const localVarPath = `/services`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(service, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * ServiceApi - functional programming interface
 * @export
 */
export const ServiceApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = ServiceApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Проверка условия
         * @param {Array<Service>} service Объект условия
         * @param {*} [options] Override http request option.
         * @deprecated
         * @throws {RequiredError}
         */
        async condition(service: Array<Service>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<boolean>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.condition(service, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создаёт дубликат указанной услуги
         * @param {string} id 
         * @param {string} body Copy parameters
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async copyService(id: string, body: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.copyService(id, body, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countService(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countService(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Service>} service Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createService(service: Array<Service>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createService(service, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdService(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdService(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteService(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteService(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Отдает Список отфильтрованных проверок применимых для переданного заявления
         * @param {string} id 
         * @param {string} body Object of application
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async filterServiceVerificationsByApplication(id: string, body: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.filterServiceVerificationsByApplication(id, body, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getService(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Service>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getService(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingService(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfService>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingService(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список всех объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchService(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Service>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchService(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список публичных объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchService1(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Service>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchService1(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов для страниц статистики
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchServiceForStats(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ServiceForStats>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchServiceForStats(options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Отдает CheckList для Service
         * @param {string} id 
         * @param {Array<DecisionObjectTO>} decisionObjectTO Decision Objects для Check List
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async serviceCheckList(id: string, decisionObjectTO: Array<DecisionObjectTO>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CheckTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.serviceCheckList(id, decisionObjectTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Отдает Rejects для Service
         * @param {string} id 
         * @param {string} [goal] Goal фильтр для rejects
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async serviceRejects(id: string, goal?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<RejectTO>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.serviceRejects(id, goal, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Service>} service Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkService(service: Array<Service>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkService(service, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Service>} service Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateService(service: Array<Service>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateService(service, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * ServiceApi - factory interface
 * @export
 */
export const ServiceApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = ServiceApiFp(configuration)
    return {
        /**
         * 
         * @summary Проверка условия
         * @param {Array<Service>} service Объект условия
         * @param {*} [options] Override http request option.
         * @deprecated
         * @throws {RequiredError}
         */
        condition(service: Array<Service>, options?: any): AxiosPromise<boolean> {
            return localVarFp.condition(service, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создаёт дубликат указанной услуги
         * @param {string} id 
         * @param {string} body Copy parameters
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        copyService(id: string, body: string, options?: any): AxiosPromise<string> {
            return localVarFp.copyService(id, body, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countService(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countService(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Service>} service Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createService(service: Array<Service>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createService(service, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdService(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdService(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteService(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteService(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Отдает Список отфильтрованных проверок применимых для переданного заявления
         * @param {string} id 
         * @param {string} body Object of application
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        filterServiceVerificationsByApplication(id: string, body: string, options?: any): AxiosPromise<string> {
            return localVarFp.filterServiceVerificationsByApplication(id, body, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getService(id: string, expand?: string, options?: any): AxiosPromise<Service> {
            return localVarFp.getService(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingService(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfService> {
            return localVarFp.pagingService(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список всех объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchService(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<Service>> {
            return localVarFp.searchService(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список публичных объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchService1(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<Service>> {
            return localVarFp.searchService1(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов для страниц статистики
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchServiceForStats(options?: any): AxiosPromise<Array<ServiceForStats>> {
            return localVarFp.searchServiceForStats(options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Отдает CheckList для Service
         * @param {string} id 
         * @param {Array<DecisionObjectTO>} decisionObjectTO Decision Objects для Check List
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceCheckList(id: string, decisionObjectTO: Array<DecisionObjectTO>, options?: any): AxiosPromise<CheckTO> {
            return localVarFp.serviceCheckList(id, decisionObjectTO, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Отдает Rejects для Service
         * @param {string} id 
         * @param {string} [goal] Goal фильтр для rejects
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceRejects(id: string, goal?: string, options?: any): AxiosPromise<Array<RejectTO>> {
            return localVarFp.serviceRejects(id, goal, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Service>} service Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkService(service: Array<Service>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkService(service, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Service>} service Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateService(service: Array<Service>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateService(service, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * ServiceApi - object-oriented interface
 * @export
 * @class ServiceApi
 * @extends {BaseAPI}
 */
export class ServiceApi extends BaseAPI {
    /**
     * 
     * @summary Проверка условия
     * @param {Array<Service>} service Объект условия
     * @param {*} [options] Override http request option.
     * @deprecated
     * @throws {RequiredError}
     * @memberof ServiceApi
     */
    public condition(service: Array<Service>, options?: any) {
        return ServiceApiFp(this.configuration).condition(service, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создаёт дубликат указанной услуги
     * @param {string} id 
     * @param {string} body Copy parameters
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceApi
     */
    public copyService(id: string, body: string, options?: any) {
        return ServiceApiFp(this.configuration).copyService(id, body, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceApi
     */
    public countService(query?: string, fulltext?: string, options?: any) {
        return ServiceApiFp(this.configuration).countService(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<Service>} service Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceApi
     */
    public createService(service: Array<Service>, options?: any) {
        return ServiceApiFp(this.configuration).createService(service, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceApi
     */
    public deleteByIdService(id: string, options?: any) {
        return ServiceApiFp(this.configuration).deleteByIdService(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceApi
     */
    public deleteService(requestBody: Array<string>, options?: any) {
        return ServiceApiFp(this.configuration).deleteService(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Отдает Список отфильтрованных проверок применимых для переданного заявления
     * @param {string} id 
     * @param {string} body Object of application
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceApi
     */
    public filterServiceVerificationsByApplication(id: string, body: string, options?: any) {
        return ServiceApiFp(this.configuration).filterServiceVerificationsByApplication(id, body, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceApi
     */
    public getService(id: string, expand?: string, options?: any) {
        return ServiceApiFp(this.configuration).getService(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceApi
     */
    public pagingService(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ServiceApiFp(this.configuration).pagingService(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список всех объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceApi
     */
    public searchService(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ServiceApiFp(this.configuration).searchService(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список публичных объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceApi
     */
    public searchService1(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ServiceApiFp(this.configuration).searchService1(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов для страниц статистики
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceApi
     */
    public searchServiceForStats(options?: any) {
        return ServiceApiFp(this.configuration).searchServiceForStats(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Отдает CheckList для Service
     * @param {string} id 
     * @param {Array<DecisionObjectTO>} decisionObjectTO Decision Objects для Check List
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceApi
     */
    public serviceCheckList(id: string, decisionObjectTO: Array<DecisionObjectTO>, options?: any) {
        return ServiceApiFp(this.configuration).serviceCheckList(id, decisionObjectTO, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Отдает Rejects для Service
     * @param {string} id 
     * @param {string} [goal] Goal фильтр для rejects
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceApi
     */
    public serviceRejects(id: string, goal?: string, options?: any) {
        return ServiceApiFp(this.configuration).serviceRejects(id, goal, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<Service>} service Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceApi
     */
    public unlinkService(service: Array<Service>, options?: any) {
        return ServiceApiFp(this.configuration).unlinkService(service, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<Service>} service Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceApi
     */
    public updateService(service: Array<Service>, options?: any) {
        return ServiceApiFp(this.configuration).updateService(service, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * ServiceAggregationApi - axios parameter creator
 * @export
 */
export const ServiceAggregationApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ServiceAggregation>} serviceAggregation Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createServiceAggregation: async (serviceAggregation: Array<ServiceAggregation>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'serviceAggregation' is not null or undefined
            assertParamExists('createServiceAggregation', 'serviceAggregation', serviceAggregation)
            const localVarPath = `/service-aggregation`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(serviceAggregation, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getServiceAggregation: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getServiceAggregation', 'id', id)
            const localVarPath = `/service-aggregation/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingServiceAggregation: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/service-aggregation`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (page !== undefined) {
                localVarQueryParameter['page'] = page;
            }

            if (perPage !== undefined) {
                localVarQueryParameter['perPage'] = perPage;
            }

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchServiceAggregation: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/service-aggregation/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * ServiceAggregationApi - functional programming interface
 * @export
 */
export const ServiceAggregationApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = ServiceAggregationApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ServiceAggregation>} serviceAggregation Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createServiceAggregation(serviceAggregation: Array<ServiceAggregation>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createServiceAggregation(serviceAggregation, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getServiceAggregation(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ServiceAggregation>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getServiceAggregation(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingServiceAggregation(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfService>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingServiceAggregation(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchServiceAggregation(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ServiceAggregation>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchServiceAggregation(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * ServiceAggregationApi - factory interface
 * @export
 */
export const ServiceAggregationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = ServiceAggregationApiFp(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ServiceAggregation>} serviceAggregation Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createServiceAggregation(serviceAggregation: Array<ServiceAggregation>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createServiceAggregation(serviceAggregation, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getServiceAggregation(id: string, expand?: string, options?: any): AxiosPromise<ServiceAggregation> {
            return localVarFp.getServiceAggregation(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingServiceAggregation(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfService> {
            return localVarFp.pagingServiceAggregation(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchServiceAggregation(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<ServiceAggregation>> {
            return localVarFp.searchServiceAggregation(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * ServiceAggregationApi - object-oriented interface
 * @export
 * @class ServiceAggregationApi
 * @extends {BaseAPI}
 */
export class ServiceAggregationApi extends BaseAPI {
    /**
     * 
     * @summary Создает новый объект
     * @param {Array<ServiceAggregation>} serviceAggregation Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceAggregationApi
     */
    public createServiceAggregation(serviceAggregation: Array<ServiceAggregation>, options?: any) {
        return ServiceAggregationApiFp(this.configuration).createServiceAggregation(serviceAggregation, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceAggregationApi
     */
    public getServiceAggregation(id: string, expand?: string, options?: any) {
        return ServiceAggregationApiFp(this.configuration).getServiceAggregation(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceAggregationApi
     */
    public pagingServiceAggregation(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ServiceAggregationApiFp(this.configuration).pagingServiceAggregation(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceAggregationApi
     */
    public searchServiceAggregation(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ServiceAggregationApiFp(this.configuration).searchServiceAggregation(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * ServiceBackupApi - axios parameter creator
 * @export
 */
export const ServiceBackupApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Импортирует межвед в zip архиве
         * @param {CompletedFileUpload} [completedFileUpload] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        interagencyImportFromZip: async (completedFileUpload?: CompletedFileUpload, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/backup-interagency/import/zip`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(completedFileUpload, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет услугу каскандно (все связанные с ней объекты и файлы)
         * @param {string} serviceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceDrop: async (serviceId: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'serviceId' is not null or undefined
            assertParamExists('serviceDrop', 'serviceId', serviceId)
            const localVarPath = `/backup/drop/{serviceId}`
                .replace(`{${"serviceId"}}`, encodeURIComponent(String(serviceId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает backup для Service
         * @param {string} serviceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceExport: async (serviceId: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'serviceId' is not null or undefined
            assertParamExists('serviceExport', 'serviceId', serviceId)
            const localVarPath = `/backup/export/{serviceId}`
                .replace(`{${"serviceId"}}`, encodeURIComponent(String(serviceId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает backup zip архив для Service
         * @param {string} serviceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceExportToZip: async (serviceId: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'serviceId' is not null or undefined
            assertParamExists('serviceExportToZip', 'serviceId', serviceId)
            const localVarPath = `/backup/export/{serviceId}/zip`
                .replace(`{${"serviceId"}}`, encodeURIComponent(String(serviceId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает backup zip архив для Service с Registry
         * @param {string} serviceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceExportToZipWithRegistry: async (serviceId: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'serviceId' is not null or undefined
            assertParamExists('serviceExportToZipWithRegistry', 'serviceId', serviceId)
            const localVarPath = `/backup/export-with-registry/{serviceId}/zip`
                .replace(`{${"serviceId"}}`, encodeURIComponent(String(serviceId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Импортирует услугу
         * @param {ServiceScriptBackup} serviceScriptBackup 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceImport: async (serviceScriptBackup: ServiceScriptBackup, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'serviceScriptBackup' is not null or undefined
            assertParamExists('serviceImport', 'serviceScriptBackup', serviceScriptBackup)
            const localVarPath = `/backup/import`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(serviceScriptBackup, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Импортирует услугу в zip архиве
         * @param {CompletedFileUpload} [completedFileUpload] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceImportScriptFromZip: async (completedFileUpload?: CompletedFileUpload, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/backup/import/zip`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(completedFileUpload, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * ServiceBackupApi - functional programming interface
 * @export
 */
export const ServiceBackupApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = ServiceBackupApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Импортирует межвед в zip архиве
         * @param {CompletedFileUpload} [completedFileUpload] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async interagencyImportFromZip(completedFileUpload?: CompletedFileUpload, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.interagencyImportFromZip(completedFileUpload, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет услугу каскандно (все связанные с ней объекты и файлы)
         * @param {string} serviceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async serviceDrop(serviceId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.serviceDrop(serviceId, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает backup для Service
         * @param {string} serviceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async serviceExport(serviceId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ServiceScriptBackup>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.serviceExport(serviceId, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает backup zip архив для Service
         * @param {string} serviceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async serviceExportToZip(serviceId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.serviceExportToZip(serviceId, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает backup zip архив для Service с Registry
         * @param {string} serviceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async serviceExportToZipWithRegistry(serviceId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.serviceExportToZipWithRegistry(serviceId, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Импортирует услугу
         * @param {ServiceScriptBackup} serviceScriptBackup 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async serviceImport(serviceScriptBackup: ServiceScriptBackup, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.serviceImport(serviceScriptBackup, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Импортирует услугу в zip архиве
         * @param {CompletedFileUpload} [completedFileUpload] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async serviceImportScriptFromZip(completedFileUpload?: CompletedFileUpload, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.serviceImportScriptFromZip(completedFileUpload, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * ServiceBackupApi - factory interface
 * @export
 */
export const ServiceBackupApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = ServiceBackupApiFp(configuration)
    return {
        /**
         * 
         * @summary Импортирует межвед в zip архиве
         * @param {CompletedFileUpload} [completedFileUpload] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        interagencyImportFromZip(completedFileUpload?: CompletedFileUpload, options?: any): AxiosPromise<Response> {
            return localVarFp.interagencyImportFromZip(completedFileUpload, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет услугу каскандно (все связанные с ней объекты и файлы)
         * @param {string} serviceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceDrop(serviceId: string, options?: any): AxiosPromise<Response> {
            return localVarFp.serviceDrop(serviceId, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает backup для Service
         * @param {string} serviceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceExport(serviceId: string, options?: any): AxiosPromise<Array<ServiceScriptBackup>> {
            return localVarFp.serviceExport(serviceId, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает backup zip архив для Service
         * @param {string} serviceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceExportToZip(serviceId: string, options?: any): AxiosPromise<void> {
            return localVarFp.serviceExportToZip(serviceId, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает backup zip архив для Service с Registry
         * @param {string} serviceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceExportToZipWithRegistry(serviceId: string, options?: any): AxiosPromise<void> {
            return localVarFp.serviceExportToZipWithRegistry(serviceId, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Импортирует услугу
         * @param {ServiceScriptBackup} serviceScriptBackup 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceImport(serviceScriptBackup: ServiceScriptBackup, options?: any): AxiosPromise<Response> {
            return localVarFp.serviceImport(serviceScriptBackup, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Импортирует услугу в zip архиве
         * @param {CompletedFileUpload} [completedFileUpload] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceImportScriptFromZip(completedFileUpload?: CompletedFileUpload, options?: any): AxiosPromise<Response> {
            return localVarFp.serviceImportScriptFromZip(completedFileUpload, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * ServiceBackupApi - object-oriented interface
 * @export
 * @class ServiceBackupApi
 * @extends {BaseAPI}
 */
export class ServiceBackupApi extends BaseAPI {
    /**
     * 
     * @summary Импортирует межвед в zip архиве
     * @param {CompletedFileUpload} [completedFileUpload] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceBackupApi
     */
    public interagencyImportFromZip(completedFileUpload?: CompletedFileUpload, options?: any) {
        return ServiceBackupApiFp(this.configuration).interagencyImportFromZip(completedFileUpload, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет услугу каскандно (все связанные с ней объекты и файлы)
     * @param {string} serviceId 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceBackupApi
     */
    public serviceDrop(serviceId: string, options?: any) {
        return ServiceBackupApiFp(this.configuration).serviceDrop(serviceId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает backup для Service
     * @param {string} serviceId 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceBackupApi
     */
    public serviceExport(serviceId: string, options?: any) {
        return ServiceBackupApiFp(this.configuration).serviceExport(serviceId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает backup zip архив для Service
     * @param {string} serviceId 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceBackupApi
     */
    public serviceExportToZip(serviceId: string, options?: any) {
        return ServiceBackupApiFp(this.configuration).serviceExportToZip(serviceId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает backup zip архив для Service с Registry
     * @param {string} serviceId 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceBackupApi
     */
    public serviceExportToZipWithRegistry(serviceId: string, options?: any) {
        return ServiceBackupApiFp(this.configuration).serviceExportToZipWithRegistry(serviceId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Импортирует услугу
     * @param {ServiceScriptBackup} serviceScriptBackup 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceBackupApi
     */
    public serviceImport(serviceScriptBackup: ServiceScriptBackup, options?: any) {
        return ServiceBackupApiFp(this.configuration).serviceImport(serviceScriptBackup, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Импортирует услугу в zip архиве
     * @param {CompletedFileUpload} [completedFileUpload] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceBackupApi
     */
    public serviceImportScriptFromZip(completedFileUpload?: CompletedFileUpload, options?: any) {
        return ServiceBackupApiFp(this.configuration).serviceImportScriptFromZip(completedFileUpload, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * ServiceDiffApi - axios parameter creator
 * @export
 */
export const ServiceDiffApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countServiceDiff: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/diff/service/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ServiceDiff>} serviceDiff Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createServiceDiff: async (serviceDiff: Array<ServiceDiff>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'serviceDiff' is not null or undefined
            assertParamExists('createServiceDiff', 'serviceDiff', serviceDiff)
            const localVarPath = `/diff/service`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(serviceDiff, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdServiceDiff: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdServiceDiff', 'id', id)
            const localVarPath = `/diff/service/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteServiceDiff: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteServiceDiff', 'requestBody', requestBody)
            const localVarPath = `/diff/service`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getServiceDiff: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getServiceDiff', 'id', id)
            const localVarPath = `/diff/service/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingServiceDiff: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/diff/service`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (page !== undefined) {
                localVarQueryParameter['page'] = page;
            }

            if (perPage !== undefined) {
                localVarQueryParameter['perPage'] = perPage;
            }

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Откат услуги к предыдущей версии
         * @param {string} id 
         * @param {number} revision 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        restoreService: async (id: string, revision: number, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('restoreService', 'id', id)
            // verify required parameter 'revision' is not null or undefined
            assertParamExists('restoreService', 'revision', revision)
            const localVarPath = `/diff/service/{id}/{revision}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)))
                .replace(`{${"revision"}}`, encodeURIComponent(String(revision)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchServiceDiff: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/diff/service/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<ServiceDiff>} serviceDiff Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkServiceDiff: async (serviceDiff: Array<ServiceDiff>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'serviceDiff' is not null or undefined
            assertParamExists('unlinkServiceDiff', 'serviceDiff', serviceDiff)
            const localVarPath = `/diff/service`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(serviceDiff, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ServiceDiff>} serviceDiff Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateServiceDiff: async (serviceDiff: Array<ServiceDiff>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'serviceDiff' is not null or undefined
            assertParamExists('updateServiceDiff', 'serviceDiff', serviceDiff)
            const localVarPath = `/diff/service`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(serviceDiff, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * ServiceDiffApi - functional programming interface
 * @export
 */
export const ServiceDiffApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = ServiceDiffApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countServiceDiff(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countServiceDiff(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ServiceDiff>} serviceDiff Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createServiceDiff(serviceDiff: Array<ServiceDiff>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createServiceDiff(serviceDiff, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdServiceDiff(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdServiceDiff(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteServiceDiff(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteServiceDiff(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getServiceDiff(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ServiceDiff>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getServiceDiff(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingServiceDiff(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfServiceDiff>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingServiceDiff(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Откат услуги к предыдущей версии
         * @param {string} id 
         * @param {number} revision 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async restoreService(id: string, revision: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.restoreService(id, revision, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchServiceDiff(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ServiceDiff>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchServiceDiff(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<ServiceDiff>} serviceDiff Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkServiceDiff(serviceDiff: Array<ServiceDiff>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkServiceDiff(serviceDiff, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ServiceDiff>} serviceDiff Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateServiceDiff(serviceDiff: Array<ServiceDiff>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateServiceDiff(serviceDiff, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * ServiceDiffApi - factory interface
 * @export
 */
export const ServiceDiffApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = ServiceDiffApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countServiceDiff(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countServiceDiff(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ServiceDiff>} serviceDiff Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createServiceDiff(serviceDiff: Array<ServiceDiff>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createServiceDiff(serviceDiff, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdServiceDiff(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdServiceDiff(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteServiceDiff(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteServiceDiff(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getServiceDiff(id: string, expand?: string, options?: any): AxiosPromise<ServiceDiff> {
            return localVarFp.getServiceDiff(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingServiceDiff(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfServiceDiff> {
            return localVarFp.pagingServiceDiff(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Откат услуги к предыдущей версии
         * @param {string} id 
         * @param {number} revision 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        restoreService(id: string, revision: number, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.restoreService(id, revision, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchServiceDiff(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<ServiceDiff>> {
            return localVarFp.searchServiceDiff(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<ServiceDiff>} serviceDiff Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkServiceDiff(serviceDiff: Array<ServiceDiff>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkServiceDiff(serviceDiff, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ServiceDiff>} serviceDiff Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateServiceDiff(serviceDiff: Array<ServiceDiff>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateServiceDiff(serviceDiff, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * ServiceDiffApi - object-oriented interface
 * @export
 * @class ServiceDiffApi
 * @extends {BaseAPI}
 */
export class ServiceDiffApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDiffApi
     */
    public countServiceDiff(query?: string, fulltext?: string, options?: any) {
        return ServiceDiffApiFp(this.configuration).countServiceDiff(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<ServiceDiff>} serviceDiff Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDiffApi
     */
    public createServiceDiff(serviceDiff: Array<ServiceDiff>, options?: any) {
        return ServiceDiffApiFp(this.configuration).createServiceDiff(serviceDiff, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDiffApi
     */
    public deleteByIdServiceDiff(id: string, options?: any) {
        return ServiceDiffApiFp(this.configuration).deleteByIdServiceDiff(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDiffApi
     */
    public deleteServiceDiff(requestBody: Array<string>, options?: any) {
        return ServiceDiffApiFp(this.configuration).deleteServiceDiff(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDiffApi
     */
    public getServiceDiff(id: string, expand?: string, options?: any) {
        return ServiceDiffApiFp(this.configuration).getServiceDiff(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDiffApi
     */
    public pagingServiceDiff(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ServiceDiffApiFp(this.configuration).pagingServiceDiff(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Откат услуги к предыдущей версии
     * @param {string} id 
     * @param {number} revision 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDiffApi
     */
    public restoreService(id: string, revision: number, options?: any) {
        return ServiceDiffApiFp(this.configuration).restoreService(id, revision, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDiffApi
     */
    public searchServiceDiff(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ServiceDiffApiFp(this.configuration).searchServiceDiff(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<ServiceDiff>} serviceDiff Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDiffApi
     */
    public unlinkServiceDiff(serviceDiff: Array<ServiceDiff>, options?: any) {
        return ServiceDiffApiFp(this.configuration).unlinkServiceDiff(serviceDiff, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<ServiceDiff>} serviceDiff Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDiffApi
     */
    public updateServiceDiff(serviceDiff: Array<ServiceDiff>, options?: any) {
        return ServiceDiffApiFp(this.configuration).updateServiceDiff(serviceDiff, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * ServiceDocumentApi - axios parameter creator
 * @export
 */
export const ServiceDocumentApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countServiceDocument: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/service/documents/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ServiceDocument>} serviceDocument Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createServiceDocument: async (serviceDocument: Array<ServiceDocument>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'serviceDocument' is not null or undefined
            assertParamExists('createServiceDocument', 'serviceDocument', serviceDocument)
            const localVarPath = `/service/documents`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(serviceDocument, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdServiceDocument: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdServiceDocument', 'id', id)
            const localVarPath = `/service/documents/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteServiceDocument: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteServiceDocument', 'requestBody', requestBody)
            const localVarPath = `/service/documents`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getServiceDocument: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getServiceDocument', 'id', id)
            const localVarPath = `/service/documents/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingServiceDocument: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/service/documents`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (page !== undefined) {
                localVarQueryParameter['page'] = page;
            }

            if (perPage !== undefined) {
                localVarQueryParameter['perPage'] = perPage;
            }

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchServiceDocument: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/service/documents/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<ServiceDocument>} serviceDocument Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkServiceDocument: async (serviceDocument: Array<ServiceDocument>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'serviceDocument' is not null or undefined
            assertParamExists('unlinkServiceDocument', 'serviceDocument', serviceDocument)
            const localVarPath = `/service/documents`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(serviceDocument, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ServiceDocument>} serviceDocument Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateServiceDocument: async (serviceDocument: Array<ServiceDocument>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'serviceDocument' is not null or undefined
            assertParamExists('updateServiceDocument', 'serviceDocument', serviceDocument)
            const localVarPath = `/service/documents`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(serviceDocument, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * ServiceDocumentApi - functional programming interface
 * @export
 */
export const ServiceDocumentApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = ServiceDocumentApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countServiceDocument(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countServiceDocument(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ServiceDocument>} serviceDocument Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createServiceDocument(serviceDocument: Array<ServiceDocument>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createServiceDocument(serviceDocument, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdServiceDocument(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdServiceDocument(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteServiceDocument(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteServiceDocument(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getServiceDocument(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ServiceDocument>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getServiceDocument(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingServiceDocument(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfServiceDocument>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingServiceDocument(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchServiceDocument(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ServiceDocument>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchServiceDocument(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<ServiceDocument>} serviceDocument Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkServiceDocument(serviceDocument: Array<ServiceDocument>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkServiceDocument(serviceDocument, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ServiceDocument>} serviceDocument Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateServiceDocument(serviceDocument: Array<ServiceDocument>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateServiceDocument(serviceDocument, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * ServiceDocumentApi - factory interface
 * @export
 */
export const ServiceDocumentApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = ServiceDocumentApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countServiceDocument(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countServiceDocument(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<ServiceDocument>} serviceDocument Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createServiceDocument(serviceDocument: Array<ServiceDocument>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createServiceDocument(serviceDocument, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdServiceDocument(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdServiceDocument(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteServiceDocument(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteServiceDocument(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getServiceDocument(id: string, expand?: string, options?: any): AxiosPromise<ServiceDocument> {
            return localVarFp.getServiceDocument(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingServiceDocument(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfServiceDocument> {
            return localVarFp.pagingServiceDocument(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchServiceDocument(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<ServiceDocument>> {
            return localVarFp.searchServiceDocument(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<ServiceDocument>} serviceDocument Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkServiceDocument(serviceDocument: Array<ServiceDocument>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkServiceDocument(serviceDocument, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ServiceDocument>} serviceDocument Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateServiceDocument(serviceDocument: Array<ServiceDocument>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateServiceDocument(serviceDocument, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * ServiceDocumentApi - object-oriented interface
 * @export
 * @class ServiceDocumentApi
 * @extends {BaseAPI}
 */
export class ServiceDocumentApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDocumentApi
     */
    public countServiceDocument(query?: string, fulltext?: string, options?: any) {
        return ServiceDocumentApiFp(this.configuration).countServiceDocument(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<ServiceDocument>} serviceDocument Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDocumentApi
     */
    public createServiceDocument(serviceDocument: Array<ServiceDocument>, options?: any) {
        return ServiceDocumentApiFp(this.configuration).createServiceDocument(serviceDocument, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDocumentApi
     */
    public deleteByIdServiceDocument(id: string, options?: any) {
        return ServiceDocumentApiFp(this.configuration).deleteByIdServiceDocument(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDocumentApi
     */
    public deleteServiceDocument(requestBody: Array<string>, options?: any) {
        return ServiceDocumentApiFp(this.configuration).deleteServiceDocument(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDocumentApi
     */
    public getServiceDocument(id: string, expand?: string, options?: any) {
        return ServiceDocumentApiFp(this.configuration).getServiceDocument(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDocumentApi
     */
    public pagingServiceDocument(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ServiceDocumentApiFp(this.configuration).pagingServiceDocument(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDocumentApi
     */
    public searchServiceDocument(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ServiceDocumentApiFp(this.configuration).searchServiceDocument(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<ServiceDocument>} serviceDocument Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDocumentApi
     */
    public unlinkServiceDocument(serviceDocument: Array<ServiceDocument>, options?: any) {
        return ServiceDocumentApiFp(this.configuration).unlinkServiceDocument(serviceDocument, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<ServiceDocument>} serviceDocument Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceDocumentApi
     */
    public updateServiceDocument(serviceDocument: Array<ServiceDocument>, options?: any) {
        return ServiceDocumentApiFp(this.configuration).updateServiceDocument(serviceDocument, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * ServiceMappingApi - axios parameter creator
 * @export
 */
export const ServiceMappingApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryTable>} registryTable Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createServiceMapping: async (registryTable: Array<RegistryTable>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'registryTable' is not null or undefined
            assertParamExists('createServiceMapping', 'registryTable', registryTable)
            const localVarPath = `/servicemappings`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(registryTable, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdServiceMapping: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdServiceMapping', 'id', id)
            const localVarPath = `/servicemappings/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteServiceMapping: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteServiceMapping', 'requestBody', requestBody)
            const localVarPath = `/servicemappings`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getServiceMapping: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getServiceMapping', 'id', id)
            const localVarPath = `/servicemappings/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchServiceMapping: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/servicemappings/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ServiceMapping>} serviceMapping Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateServiceMapping: async (serviceMapping: Array<ServiceMapping>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'serviceMapping' is not null or undefined
            assertParamExists('updateServiceMapping', 'serviceMapping', serviceMapping)
            const localVarPath = `/servicemappings`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(serviceMapping, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * ServiceMappingApi - functional programming interface
 * @export
 */
export const ServiceMappingApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = ServiceMappingApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryTable>} registryTable Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createServiceMapping(registryTable: Array<RegistryTable>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createServiceMapping(registryTable, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdServiceMapping(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdServiceMapping(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteServiceMapping(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteServiceMapping(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getServiceMapping(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ServiceMapping>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getServiceMapping(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchServiceMapping(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ServiceMapping>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchServiceMapping(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ServiceMapping>} serviceMapping Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateServiceMapping(serviceMapping: Array<ServiceMapping>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateServiceMapping(serviceMapping, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * ServiceMappingApi - factory interface
 * @export
 */
export const ServiceMappingApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = ServiceMappingApiFp(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<RegistryTable>} registryTable Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createServiceMapping(registryTable: Array<RegistryTable>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createServiceMapping(registryTable, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdServiceMapping(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdServiceMapping(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteServiceMapping(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteServiceMapping(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getServiceMapping(id: string, expand?: string, options?: any): AxiosPromise<ServiceMapping> {
            return localVarFp.getServiceMapping(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchServiceMapping(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<ServiceMapping>> {
            return localVarFp.searchServiceMapping(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<ServiceMapping>} serviceMapping Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateServiceMapping(serviceMapping: Array<ServiceMapping>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateServiceMapping(serviceMapping, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * ServiceMappingApi - object-oriented interface
 * @export
 * @class ServiceMappingApi
 * @extends {BaseAPI}
 */
export class ServiceMappingApi extends BaseAPI {
    /**
     * 
     * @summary Создает новый объект
     * @param {Array<RegistryTable>} registryTable Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceMappingApi
     */
    public createServiceMapping(registryTable: Array<RegistryTable>, options?: any) {
        return ServiceMappingApiFp(this.configuration).createServiceMapping(registryTable, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceMappingApi
     */
    public deleteByIdServiceMapping(id: string, options?: any) {
        return ServiceMappingApiFp(this.configuration).deleteByIdServiceMapping(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceMappingApi
     */
    public deleteServiceMapping(requestBody: Array<string>, options?: any) {
        return ServiceMappingApiFp(this.configuration).deleteServiceMapping(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceMappingApi
     */
    public getServiceMapping(id: string, expand?: string, options?: any) {
        return ServiceMappingApiFp(this.configuration).getServiceMapping(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceMappingApi
     */
    public searchServiceMapping(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return ServiceMappingApiFp(this.configuration).searchServiceMapping(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<ServiceMapping>} serviceMapping Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceMappingApi
     */
    public updateServiceMapping(serviceMapping: Array<ServiceMapping>, options?: any) {
        return ServiceMappingApiFp(this.configuration).updateServiceMapping(serviceMapping, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * ServiceReleaseApi - axios parameter creator
 * @export
 */
export const ServiceReleaseApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Инкрементирует версию сервиса
         * @param {string} serviceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceReleaseToZip: async (serviceId: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'serviceId' is not null or undefined
            assertParamExists('serviceReleaseToZip', 'serviceId', serviceId)
            const localVarPath = `/release/{serviceId}`
                .replace(`{${"serviceId"}}`, encodeURIComponent(String(serviceId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Сохраняет услугу и инкрементирует версию
         * @param {Service} service Услуга
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceReleaseToZip1: async (service: Service, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'service' is not null or undefined
            assertParamExists('serviceReleaseToZip1', 'service', service)
            const localVarPath = `/release`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(service, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Выпускает релиз сервиса
         * @param {string} serviceId 
         * @param {string} body Объект содержащий текст, изменений релиза
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceReleaseToZip2: async (serviceId: string, body: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'serviceId' is not null or undefined
            assertParamExists('serviceReleaseToZip2', 'serviceId', serviceId)
            // verify required parameter 'body' is not null or undefined
            assertParamExists('serviceReleaseToZip2', 'body', body)
            const localVarPath = `/release/{serviceId}/notes`
                .replace(`{${"serviceId"}}`, encodeURIComponent(String(serviceId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * ServiceReleaseApi - functional programming interface
 * @export
 */
export const ServiceReleaseApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = ServiceReleaseApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Инкрементирует версию сервиса
         * @param {string} serviceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async serviceReleaseToZip(serviceId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.serviceReleaseToZip(serviceId, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Сохраняет услугу и инкрементирует версию
         * @param {Service} service Услуга
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async serviceReleaseToZip1(service: Service, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.serviceReleaseToZip1(service, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Выпускает релиз сервиса
         * @param {string} serviceId 
         * @param {string} body Объект содержащий текст, изменений релиза
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async serviceReleaseToZip2(serviceId: string, body: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.serviceReleaseToZip2(serviceId, body, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * ServiceReleaseApi - factory interface
 * @export
 */
export const ServiceReleaseApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = ServiceReleaseApiFp(configuration)
    return {
        /**
         * 
         * @summary Инкрементирует версию сервиса
         * @param {string} serviceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceReleaseToZip(serviceId: string, options?: any): AxiosPromise<void> {
            return localVarFp.serviceReleaseToZip(serviceId, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Сохраняет услугу и инкрементирует версию
         * @param {Service} service Услуга
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceReleaseToZip1(service: Service, options?: any): AxiosPromise<void> {
            return localVarFp.serviceReleaseToZip1(service, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Выпускает релиз сервиса
         * @param {string} serviceId 
         * @param {string} body Объект содержащий текст, изменений релиза
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        serviceReleaseToZip2(serviceId: string, body: string, options?: any): AxiosPromise<void> {
            return localVarFp.serviceReleaseToZip2(serviceId, body, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * ServiceReleaseApi - object-oriented interface
 * @export
 * @class ServiceReleaseApi
 * @extends {BaseAPI}
 */
export class ServiceReleaseApi extends BaseAPI {
    /**
     * 
     * @summary Инкрементирует версию сервиса
     * @param {string} serviceId 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceReleaseApi
     */
    public serviceReleaseToZip(serviceId: string, options?: any) {
        return ServiceReleaseApiFp(this.configuration).serviceReleaseToZip(serviceId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Сохраняет услугу и инкрементирует версию
     * @param {Service} service Услуга
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceReleaseApi
     */
    public serviceReleaseToZip1(service: Service, options?: any) {
        return ServiceReleaseApiFp(this.configuration).serviceReleaseToZip1(service, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Выпускает релиз сервиса
     * @param {string} serviceId 
     * @param {string} body Объект содержащий текст, изменений релиза
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ServiceReleaseApi
     */
    public serviceReleaseToZip2(serviceId: string, body: string, options?: any) {
        return ServiceReleaseApiFp(this.configuration).serviceReleaseToZip2(serviceId, body, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * SettingsForServiceApi - axios parameter creator
 * @export
 */
export const SettingsForServiceApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countSettingsForService: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/settings-for-service/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteSettingsForService: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteSettingsForService', 'requestBody', requestBody)
            const localVarPath = `/settings-for-service`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSettingsForServicePerson: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getSettingsForServicePerson', 'id', id)
            const localVarPath = `/settings-for-service/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingSettingsForServicePage: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/settings-for-service`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (page !== undefined) {
                localVarQueryParameter['page'] = page;
            }

            if (perPage !== undefined) {
                localVarQueryParameter['perPage'] = perPage;
            }

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создаёт новый объект
         * @param {Array<SettingsForService>} settingsForService Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        saveSettingsForService: async (settingsForService: Array<SettingsForService>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'settingsForService' is not null or undefined
            assertParamExists('saveSettingsForService', 'settingsForService', settingsForService)
            const localVarPath = `/settings-for-service`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(settingsForService, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет доп.настройки услуги
         * @param {SettingsForService} settingsForService Изменяемый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateSettingsForService: async (settingsForService: SettingsForService, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'settingsForService' is not null or undefined
            assertParamExists('updateSettingsForService', 'settingsForService', settingsForService)
            const localVarPath = `/settings-for-service`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(settingsForService, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * SettingsForServiceApi - functional programming interface
 * @export
 */
export const SettingsForServiceApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = SettingsForServiceApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countSettingsForService(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countSettingsForService(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteSettingsForService(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteSettingsForService(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getSettingsForServicePerson(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SettingsForService>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getSettingsForServicePerson(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingSettingsForServicePage(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfSettingsForService>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingSettingsForServicePage(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создаёт новый объект
         * @param {Array<SettingsForService>} settingsForService Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async saveSettingsForService(settingsForService: Array<SettingsForService>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.saveSettingsForService(settingsForService, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет доп.настройки услуги
         * @param {SettingsForService} settingsForService Изменяемый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateSettingsForService(settingsForService: SettingsForService, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SettingsForServiceModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateSettingsForService(settingsForService, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * SettingsForServiceApi - factory interface
 * @export
 */
export const SettingsForServiceApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = SettingsForServiceApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countSettingsForService(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countSettingsForService(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteSettingsForService(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteSettingsForService(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSettingsForServicePerson(id: string, expand?: string, options?: any): AxiosPromise<SettingsForService> {
            return localVarFp.getSettingsForServicePerson(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingSettingsForServicePage(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfSettingsForService> {
            return localVarFp.pagingSettingsForServicePage(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создаёт новый объект
         * @param {Array<SettingsForService>} settingsForService Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        saveSettingsForService(settingsForService: Array<SettingsForService>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.saveSettingsForService(settingsForService, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет доп.настройки услуги
         * @param {SettingsForService} settingsForService Изменяемый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateSettingsForService(settingsForService: SettingsForService, options?: any): AxiosPromise<SettingsForServiceModifyResponse> {
            return localVarFp.updateSettingsForService(settingsForService, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * SettingsForServiceApi - object-oriented interface
 * @export
 * @class SettingsForServiceApi
 * @extends {BaseAPI}
 */
export class SettingsForServiceApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettingsForServiceApi
     */
    public countSettingsForService(query?: string, fulltext?: string, options?: any) {
        return SettingsForServiceApiFp(this.configuration).countSettingsForService(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettingsForServiceApi
     */
    public deleteSettingsForService(requestBody: Array<string>, options?: any) {
        return SettingsForServiceApiFp(this.configuration).deleteSettingsForService(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettingsForServiceApi
     */
    public getSettingsForServicePerson(id: string, expand?: string, options?: any) {
        return SettingsForServiceApiFp(this.configuration).getSettingsForServicePerson(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettingsForServiceApi
     */
    public pagingSettingsForServicePage(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return SettingsForServiceApiFp(this.configuration).pagingSettingsForServicePage(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создаёт новый объект
     * @param {Array<SettingsForService>} settingsForService Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettingsForServiceApi
     */
    public saveSettingsForService(settingsForService: Array<SettingsForService>, options?: any) {
        return SettingsForServiceApiFp(this.configuration).saveSettingsForService(settingsForService, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет доп.настройки услуги
     * @param {SettingsForService} settingsForService Изменяемый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettingsForServiceApi
     */
    public updateSettingsForService(settingsForService: SettingsForService, options?: any) {
        return SettingsForServiceApiFp(this.configuration).updateSettingsForService(settingsForService, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * SettingsForServiceCriteriaApi - axios parameter creator
 * @export
 */
export const SettingsForServiceCriteriaApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<SettingsForServiceCriteria>} settingsForServiceCriteria Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createSittingsForServiceCriteria: async (settingsForServiceCriteria: Array<SettingsForServiceCriteria>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'settingsForServiceCriteria' is not null or undefined
            assertParamExists('createSittingsForServiceCriteria', 'settingsForServiceCriteria', settingsForServiceCriteria)
            const localVarPath = `/settings-for-service-criteria`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(settingsForServiceCriteria, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteSettingsForServiceCriteriaById: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteSettingsForServiceCriteriaById', 'id', id)
            const localVarPath = `/settings-for-service-criteria/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingSettingsForServiceCriteria: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/settings-for-service-criteria`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            if (page !== undefined) {
                localVarQueryParameter['page'] = page;
            }

            if (perPage !== undefined) {
                localVarQueryParameter['perPage'] = perPage;
            }

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * SettingsForServiceCriteriaApi - functional programming interface
 * @export
 */
export const SettingsForServiceCriteriaApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = SettingsForServiceCriteriaApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<SettingsForServiceCriteria>} settingsForServiceCriteria Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createSittingsForServiceCriteria(settingsForServiceCriteria: Array<SettingsForServiceCriteria>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createSittingsForServiceCriteria(settingsForServiceCriteria, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteSettingsForServiceCriteriaById(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteSettingsForServiceCriteriaById(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingSettingsForServiceCriteria(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfSettingsForServiceCriteria>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingSettingsForServiceCriteria(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * SettingsForServiceCriteriaApi - factory interface
 * @export
 */
export const SettingsForServiceCriteriaApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = SettingsForServiceCriteriaApiFp(configuration)
    return {
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<SettingsForServiceCriteria>} settingsForServiceCriteria Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createSittingsForServiceCriteria(settingsForServiceCriteria: Array<SettingsForServiceCriteria>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createSittingsForServiceCriteria(settingsForServiceCriteria, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteSettingsForServiceCriteriaById(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteSettingsForServiceCriteriaById(id, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingSettingsForServiceCriteria(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfSettingsForServiceCriteria> {
            return localVarFp.pagingSettingsForServiceCriteria(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * SettingsForServiceCriteriaApi - object-oriented interface
 * @export
 * @class SettingsForServiceCriteriaApi
 * @extends {BaseAPI}
 */
export class SettingsForServiceCriteriaApi extends BaseAPI {
    /**
     * 
     * @summary Создает новый объект
     * @param {Array<SettingsForServiceCriteria>} settingsForServiceCriteria Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettingsForServiceCriteriaApi
     */
    public createSittingsForServiceCriteria(settingsForServiceCriteria: Array<SettingsForServiceCriteria>, options?: any) {
        return SettingsForServiceCriteriaApiFp(this.configuration).createSittingsForServiceCriteria(settingsForServiceCriteria, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettingsForServiceCriteriaApi
     */
    public deleteSettingsForServiceCriteriaById(id: string, options?: any) {
        return SettingsForServiceCriteriaApiFp(this.configuration).deleteSettingsForServiceCriteriaById(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettingsForServiceCriteriaApi
     */
    public pagingSettingsForServiceCriteria(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return SettingsForServiceCriteriaApiFp(this.configuration).pagingSettingsForServiceCriteria(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * SettingsForServiceProcessApi - axios parameter creator
 * @export
 */
export const SettingsForServiceProcessApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Создаёт процесс с вложенным файлом
         * @param {FileUpload} files process_file.bpmn
         * @param {SettingsForServiceProcessRequest} parameters json структура с ключами processType, processName и их значениями
         * @param {object} [body] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createProcessWithAttachment: async (files: FileUpload, parameters: SettingsForServiceProcessRequest, body?: object, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'files' is not null or undefined
            assertParamExists('createProcessWithAttachment', 'files', files)
            // verify required parameter 'parameters' is not null or undefined
            assertParamExists('createProcessWithAttachment', 'parameters', parameters)
            const localVarPath = `/settings-for-service-process/process-with-attachment`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (files !== undefined) {
                localVarQueryParameter['files'] = files;
            }

            if (parameters !== undefined) {
                localVarQueryParameter['parameters'] = parameters;
            }


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteSettingsForServiceById: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteSettingsForServiceById', 'id', id)
            const localVarPath = `/settings-for-service-process/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingSettingsForServiceProcess: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/settings-for-service-process`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (page !== undefined) {
                localVarQueryParameter['page'] = page;
            }

            if (perPage !== undefined) {
                localVarQueryParameter['perPage'] = perPage;
            }

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<SettingsForServiceProcess>} settingsForServiceProcess Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateSettingsForServiceProcess: async (settingsForServiceProcess: Array<SettingsForServiceProcess>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'settingsForServiceProcess' is not null or undefined
            assertParamExists('updateSettingsForServiceProcess', 'settingsForServiceProcess', settingsForServiceProcess)
            const localVarPath = `/settings-for-service-process`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(settingsForServiceProcess, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * SettingsForServiceProcessApi - functional programming interface
 * @export
 */
export const SettingsForServiceProcessApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = SettingsForServiceProcessApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Создаёт процесс с вложенным файлом
         * @param {FileUpload} files process_file.bpmn
         * @param {SettingsForServiceProcessRequest} parameters json структура с ключами processType, processName и их значениями
         * @param {object} [body] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createProcessWithAttachment(files: FileUpload, parameters: SettingsForServiceProcessRequest, body?: object, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createProcessWithAttachment(files, parameters, body, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteSettingsForServiceById(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteSettingsForServiceById(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingSettingsForServiceProcess(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfSettingsForServiceProcess>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingSettingsForServiceProcess(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<SettingsForServiceProcess>} settingsForServiceProcess Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateSettingsForServiceProcess(settingsForServiceProcess: Array<SettingsForServiceProcess>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateSettingsForServiceProcess(settingsForServiceProcess, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * SettingsForServiceProcessApi - factory interface
 * @export
 */
export const SettingsForServiceProcessApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = SettingsForServiceProcessApiFp(configuration)
    return {
        /**
         * 
         * @summary Создаёт процесс с вложенным файлом
         * @param {FileUpload} files process_file.bpmn
         * @param {SettingsForServiceProcessRequest} parameters json структура с ключами processType, processName и их значениями
         * @param {object} [body] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createProcessWithAttachment(files: FileUpload, parameters: SettingsForServiceProcessRequest, body?: object, options?: any): AxiosPromise<Response> {
            return localVarFp.createProcessWithAttachment(files, parameters, body, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteSettingsForServiceById(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteSettingsForServiceById(id, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingSettingsForServiceProcess(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfSettingsForServiceProcess> {
            return localVarFp.pagingSettingsForServiceProcess(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<SettingsForServiceProcess>} settingsForServiceProcess Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateSettingsForServiceProcess(settingsForServiceProcess: Array<SettingsForServiceProcess>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateSettingsForServiceProcess(settingsForServiceProcess, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * SettingsForServiceProcessApi - object-oriented interface
 * @export
 * @class SettingsForServiceProcessApi
 * @extends {BaseAPI}
 */
export class SettingsForServiceProcessApi extends BaseAPI {
    /**
     * 
     * @summary Создаёт процесс с вложенным файлом
     * @param {FileUpload} files process_file.bpmn
     * @param {SettingsForServiceProcessRequest} parameters json структура с ключами processType, processName и их значениями
     * @param {object} [body] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettingsForServiceProcessApi
     */
    public createProcessWithAttachment(files: FileUpload, parameters: SettingsForServiceProcessRequest, body?: object, options?: any) {
        return SettingsForServiceProcessApiFp(this.configuration).createProcessWithAttachment(files, parameters, body, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettingsForServiceProcessApi
     */
    public deleteSettingsForServiceById(id: string, options?: any) {
        return SettingsForServiceProcessApiFp(this.configuration).deleteSettingsForServiceById(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettingsForServiceProcessApi
     */
    public pagingSettingsForServiceProcess(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return SettingsForServiceProcessApiFp(this.configuration).pagingSettingsForServiceProcess(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<SettingsForServiceProcess>} settingsForServiceProcess Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettingsForServiceProcessApi
     */
    public updateSettingsForServiceProcess(settingsForServiceProcess: Array<SettingsForServiceProcess>, options?: any) {
        return SettingsForServiceProcessApiFp(this.configuration).updateSettingsForServiceProcess(settingsForServiceProcess, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * SettingsForServiceTemplateApi - axios parameter creator
 * @export
 */
export const SettingsForServiceTemplateApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Создаёт шаблон с вложенным файлом
         * @param {Array<any>} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createTemplateWithAttachment: async (files?: Array<any>, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/settings-for-service-template/template-with-attachment`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;
            const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (files) {
                files.forEach((element) => {
                    localVarFormParams.append('files', element as any);
                })
            }

    
    
            localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = localVarFormParams;

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteSettingsForServiceTemplateById: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteSettingsForServiceTemplateById', 'id', id)
            const localVarPath = `/settings-for-service-template/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<SettingsForServiceTemplate>} settingsForServiceTemplate Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateSettingsForServiceTemplate: async (settingsForServiceTemplate: Array<SettingsForServiceTemplate>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'settingsForServiceTemplate' is not null or undefined
            assertParamExists('updateSettingsForServiceTemplate', 'settingsForServiceTemplate', settingsForServiceTemplate)
            const localVarPath = `/settings-for-service-template`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(settingsForServiceTemplate, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * SettingsForServiceTemplateApi - functional programming interface
 * @export
 */
export const SettingsForServiceTemplateApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = SettingsForServiceTemplateApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Создаёт шаблон с вложенным файлом
         * @param {Array<any>} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createTemplateWithAttachment(files?: Array<any>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createTemplateWithAttachment(files, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteSettingsForServiceTemplateById(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteSettingsForServiceTemplateById(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<SettingsForServiceTemplate>} settingsForServiceTemplate Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateSettingsForServiceTemplate(settingsForServiceTemplate: Array<SettingsForServiceTemplate>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateSettingsForServiceTemplate(settingsForServiceTemplate, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * SettingsForServiceTemplateApi - factory interface
 * @export
 */
export const SettingsForServiceTemplateApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = SettingsForServiceTemplateApiFp(configuration)
    return {
        /**
         * 
         * @summary Создаёт шаблон с вложенным файлом
         * @param {Array<any>} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createTemplateWithAttachment(files?: Array<any>, options?: any): AxiosPromise<Response> {
            return localVarFp.createTemplateWithAttachment(files, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteSettingsForServiceTemplateById(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteSettingsForServiceTemplateById(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<SettingsForServiceTemplate>} settingsForServiceTemplate Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateSettingsForServiceTemplate(settingsForServiceTemplate: Array<SettingsForServiceTemplate>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateSettingsForServiceTemplate(settingsForServiceTemplate, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * SettingsForServiceTemplateApi - object-oriented interface
 * @export
 * @class SettingsForServiceTemplateApi
 * @extends {BaseAPI}
 */
export class SettingsForServiceTemplateApi extends BaseAPI {
    /**
     * 
     * @summary Создаёт шаблон с вложенным файлом
     * @param {Array<any>} [files] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettingsForServiceTemplateApi
     */
    public createTemplateWithAttachment(files?: Array<any>, options?: any) {
        return SettingsForServiceTemplateApiFp(this.configuration).createTemplateWithAttachment(files, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettingsForServiceTemplateApi
     */
    public deleteSettingsForServiceTemplateById(id: string, options?: any) {
        return SettingsForServiceTemplateApiFp(this.configuration).deleteSettingsForServiceTemplateById(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<SettingsForServiceTemplate>} settingsForServiceTemplate Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SettingsForServiceTemplateApi
     */
    public updateSettingsForServiceTemplate(settingsForServiceTemplate: Array<SettingsForServiceTemplate>, options?: any) {
        return SettingsForServiceTemplateApiFp(this.configuration).updateSettingsForServiceTemplate(settingsForServiceTemplate, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * TableApi - axios parameter creator
 * @export
 */
export const TableApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countTable: async (query?: string, fulltext?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/tables/count`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Table>} table Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createTable: async (table: Array<Table>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'table' is not null or undefined
            assertParamExists('createTable', 'table', table)
            const localVarPath = `/tables`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(table, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdTable: async (id: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteByIdTable', 'id', id)
            const localVarPath = `/tables/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteTable: async (requestBody: Array<string>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('deleteTable', 'requestBody', requestBody)
            const localVarPath = `/tables`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTable: async (id: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getTable', 'id', id)
            const localVarPath = `/tables/{id}`
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingTable: async (page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/tables`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (page !== undefined) {
                localVarQueryParameter['page'] = page;
            }

            if (perPage !== undefined) {
                localVarQueryParameter['perPage'] = perPage;
            }

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchTable: async (query?: string, fulltext?: string, sort?: string, expand?: string, options: any = {}): Promise<RequestArgs> => {
            const localVarPath = `/tables/records`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)

            if (query !== undefined) {
                localVarQueryParameter['query'] = query;
            }

            if (fulltext !== undefined) {
                localVarQueryParameter['fulltext'] = fulltext;
            }

            if (sort !== undefined) {
                localVarQueryParameter['sort'] = sort;
            }

            if (expand !== undefined) {
                localVarQueryParameter['expand'] = expand;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Table>} table Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkTable: async (table: Array<Table>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'table' is not null or undefined
            assertParamExists('unlinkTable', 'table', table)
            const localVarPath = `/tables`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(table, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Table>} table Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateTable: async (table: Array<Table>, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'table' is not null or undefined
            assertParamExists('updateTable', 'table', table)
            const localVarPath = `/tables`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication serviceRegistryAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "serviceRegistryAuth", [], configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json;charset=utf-8';

            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(table, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * TableApi - functional programming interface
 * @export
 */
export const TableApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = TableApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async countTable(query?: string, fulltext?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<number>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.countTable(query, fulltext, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Table>} table Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createTable(table: Array<Table>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createTable(table, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteByIdTable(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteByIdTable(id, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteTable(requestBody: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteTable(requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getTable(id: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Table>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getTable(id, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async pagingTable(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfTable>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.pagingTable(page, perPage, query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async searchTable(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Table>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.searchTable(query, fulltext, sort, expand, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Table>} table Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async unlinkTable(table: Array<Table>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkTable(table, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Table>} table Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateTable(table: Array<Table>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateTable(table, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * TableApi - factory interface
 * @export
 */
export const TableApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = TableApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает количество объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        countTable(query?: string, fulltext?: string, options?: any): AxiosPromise<number> {
            return localVarFp.countTable(query, fulltext, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Создает новый объект
         * @param {Array<Table>} table Новый объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createTable(table: Array<Table>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.createTable(table, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {string} id ID документа
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteByIdTable(id: string, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteByIdTable(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет объект по его идентификатору
         * @param {Array<string>} requestBody ID объектов на удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteTable(requestBody: Array<string>, options?: any): AxiosPromise<Response> {
            return localVarFp.deleteTable(requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает объект по его идентификатору
         * @param {string} id 
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTable(id: string, expand?: string, options?: any): AxiosPromise<Table> {
            return localVarFp.getTable(id, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
         * @summary Возвращает список объектов
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        pagingTable(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<PageOfTable> {
            return localVarFp.pagingTable(page, perPage, query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * Возвращает список объектов без пейджинга.
         * @summary Возвращает список объектов
         * @param {string} [query] Фильтр (RSQL) выборки по объекту
         * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
         * @param {string} [sort] Тип сортировки
         * @param {string} [expand] Расширение объекта по его ссылкам
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchTable(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any): AxiosPromise<Array<Table>> {
            return localVarFp.searchTable(query, fulltext, sort, expand, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет связи объекта
         * @param {Array<Table>} table Обьект со связями для удаления
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        unlinkTable(table: Array<Table>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.unlinkTable(table, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Изменяет объект
         * @param {Array<Table>} table Объект
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateTable(table: Array<Table>, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.updateTable(table, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * TableApi - object-oriented interface
 * @export
 * @class TableApi
 * @extends {BaseAPI}
 */
export class TableApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает количество объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TableApi
     */
    public countTable(query?: string, fulltext?: string, options?: any) {
        return TableApiFp(this.configuration).countTable(query, fulltext, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Создает новый объект
     * @param {Array<Table>} table Новый объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TableApi
     */
    public createTable(table: Array<Table>, options?: any) {
        return TableApiFp(this.configuration).createTable(table, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {string} id ID документа
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TableApi
     */
    public deleteByIdTable(id: string, options?: any) {
        return TableApiFp(this.configuration).deleteByIdTable(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет объект по его идентификатору
     * @param {Array<string>} requestBody ID объектов на удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TableApi
     */
    public deleteTable(requestBody: Array<string>, options?: any) {
        return TableApiFp(this.configuration).deleteTable(requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает объект по его идентификатору
     * @param {string} id 
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TableApi
     */
    public getTable(id: string, expand?: string, options?: any) {
        return TableApiFp(this.configuration).getTable(id, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает постраничный список объектов. Разбиение на страницы производиться по 100 записей на страницу и сортировкой по дате изменения или задаётся параметрами запроса.
     * @summary Возвращает список объектов
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TableApi
     */
    public pagingTable(page?: number, perPage?: number, query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return TableApiFp(this.configuration).pagingTable(page, perPage, query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Возвращает список объектов без пейджинга.
     * @summary Возвращает список объектов
     * @param {string} [query] Фильтр (RSQL) выборки по объекту
     * @param {string} [fulltext] Фильтр (RSQL) полнотекстовых операторов выборки
     * @param {string} [sort] Тип сортировки
     * @param {string} [expand] Расширение объекта по его ссылкам
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TableApi
     */
    public searchTable(query?: string, fulltext?: string, sort?: string, expand?: string, options?: any) {
        return TableApiFp(this.configuration).searchTable(query, fulltext, sort, expand, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет связи объекта
     * @param {Array<Table>} table Обьект со связями для удаления
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TableApi
     */
    public unlinkTable(table: Array<Table>, options?: any) {
        return TableApiFp(this.configuration).unlinkTable(table, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Изменяет объект
     * @param {Array<Table>} table Объект
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TableApi
     */
    public updateTable(table: Array<Table>, options?: any) {
        return TableApiFp(this.configuration).updateTable(table, options).then((request) => request(this.axios, this.basePath));
    }
}


/**
 * VersioningApi - axios parameter creator
 * @export
 */
export const VersioningApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Возвращает документ из выбранной ревизии (версии)
         * @param {string} schema Название схемы документа
         * @param {string} id 
         * @param {string} revisionNumber Номер ревизии (версии)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDocumentForRevision: async (schema: string, id: string, revisionNumber: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('getDocumentForRevision', 'schema', schema)
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getDocumentForRevision', 'id', id)
            // verify required parameter 'revisionNumber' is not null or undefined
            assertParamExists('getDocumentForRevision', 'revisionNumber', revisionNumber)
            const localVarPath = `/versioning/{schema}/{id}/revisions/{revisionNumber}`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)))
                .replace(`{${"id"}}`, encodeURIComponent(String(id)))
                .replace(`{${"revisionNumber"}}`, encodeURIComponent(String(revisionNumber)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication Authorization required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            // authentication registryVersioningAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryVersioningAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает ревизии (версии) для указанного документа
         * @param {string} schema Название схемы документа
         * @param {string} id 
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRevisions: async (schema: string, id: string, page?: number, perPage?: number, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('getRevisions', 'schema', schema)
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getRevisions', 'id', id)
            const localVarPath = `/versioning/{schema}/{id}/revisions`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)))
                .replace(`{${"id"}}`, encodeURIComponent(String(id)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication Authorization required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            // authentication registryVersioningAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryVersioningAuth", [], configuration)

            if (page !== undefined) {
                localVarQueryParameter['page'] = page;
            }

            if (perPage !== undefined) {
                localVarQueryParameter['perPage'] = perPage;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает ревизии (версии) для указанного документа в указанном диапазоне
         * @param {string} schema Название схемы документа
         * @param {string} id 
         * @param {number} from Начало временного диапазона (UnixTime in millis)
         * @param {number} to Конец временного диапазона (UnixTime in millis)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRevisionsByRange: async (schema: string, id: string, from: number, to: number, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('getRevisionsByRange', 'schema', schema)
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getRevisionsByRange', 'id', id)
            // verify required parameter 'from' is not null or undefined
            assertParamExists('getRevisionsByRange', 'from', from)
            // verify required parameter 'to' is not null or undefined
            assertParamExists('getRevisionsByRange', 'to', to)
            const localVarPath = `/versioning/{schema}/{id}/revisions/range/{from}/{to}`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)))
                .replace(`{${"id"}}`, encodeURIComponent(String(id)))
                .replace(`{${"from"}}`, encodeURIComponent(String(from)))
                .replace(`{${"to"}}`, encodeURIComponent(String(to)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication Authorization required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            // authentication registryVersioningAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryVersioningAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Удаляет ревизии в заданном промежутке от и до времени created (создания) ревизии
         * @param {string} schema Название схемы документа
         * @param {number} fromUnixTime С какого UnixTime времени создания ревизии начать удаление
         * @param {number} toUnixTime По какое UnixTime время создания ревизии закончить удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        recoverRevision: async (schema: string, fromUnixTime: number, toUnixTime: number, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('recoverRevision', 'schema', schema)
            // verify required parameter 'fromUnixTime' is not null or undefined
            assertParamExists('recoverRevision', 'fromUnixTime', fromUnixTime)
            // verify required parameter 'toUnixTime' is not null or undefined
            assertParamExists('recoverRevision', 'toUnixTime', toUnixTime)
            const localVarPath = `/versioning/{schema}/cleanup`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication Authorization required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            // authentication registryVersioningAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryVersioningAuth", [], configuration)

            if (fromUnixTime !== undefined) {
                localVarQueryParameter['fromUnixTime'] = fromUnixTime;
            }

            if (toUnixTime !== undefined) {
                localVarQueryParameter['toUnixTime'] = toUnixTime;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Восстанавливает документ из указанной ревизии
         * @param {string} schema Название схемы документа
         * @param {string} id 
         * @param {string} revision Номер ревизии (версии)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        recoverRevision1: async (schema: string, id: string, revision: string, options: any = {}): Promise<RequestArgs> => {
            // verify required parameter 'schema' is not null or undefined
            assertParamExists('recoverRevision1', 'schema', schema)
            // verify required parameter 'id' is not null or undefined
            assertParamExists('recoverRevision1', 'id', id)
            // verify required parameter 'revision' is not null or undefined
            assertParamExists('recoverRevision1', 'revision', revision)
            const localVarPath = `/versioning/{schema}/{id}/recover/{revision}`
                .replace(`{${"schema"}}`, encodeURIComponent(String(schema)))
                .replace(`{${"id"}}`, encodeURIComponent(String(id)))
                .replace(`{${"revision"}}`, encodeURIComponent(String(revision)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication Authorization required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            // authentication registryVersioningAuth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "registryVersioningAuth", [], configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * VersioningApi - functional programming interface
 * @export
 */
export const VersioningApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = VersioningApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Возвращает документ из выбранной ревизии (версии)
         * @param {string} schema Название схемы документа
         * @param {string} id 
         * @param {string} revisionNumber Номер ревизии (версии)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getDocumentForRevision(schema: string, id: string, revisionNumber: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Document>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getDocumentForRevision(schema, id, revisionNumber, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает ревизии (версии) для указанного документа
         * @param {string} schema Название схемы документа
         * @param {string} id 
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getRevisions(schema: string, id: string, page?: number, perPage?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PageOfRevision>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getRevisions(schema, id, page, perPage, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает ревизии (версии) для указанного документа в указанном диапазоне
         * @param {string} schema Название схемы документа
         * @param {string} id 
         * @param {number} from Начало временного диапазона (UnixTime in millis)
         * @param {number} to Конец временного диапазона (UnixTime in millis)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getRevisionsByRange(schema: string, id: string, from: number, to: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Revision>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getRevisionsByRange(schema, id, from, to, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Удаляет ревизии в заданном промежутке от и до времени created (создания) ревизии
         * @param {string} schema Название схемы документа
         * @param {number} fromUnixTime С какого UnixTime времени создания ревизии начать удаление
         * @param {number} toUnixTime По какое UnixTime время создания ревизии закончить удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async recoverRevision(schema: string, fromUnixTime: number, toUnixTime: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Response>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.recoverRevision(schema, fromUnixTime, toUnixTime, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Восстанавливает документ из указанной ревизии
         * @param {string} schema Название схемы документа
         * @param {string} id 
         * @param {string} revision Номер ревизии (версии)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async recoverRevision1(schema: string, id: string, revision: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ModifyResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.recoverRevision1(schema, id, revision, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * VersioningApi - factory interface
 * @export
 */
export const VersioningApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = VersioningApiFp(configuration)
    return {
        /**
         * 
         * @summary Возвращает документ из выбранной ревизии (версии)
         * @param {string} schema Название схемы документа
         * @param {string} id 
         * @param {string} revisionNumber Номер ревизии (версии)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDocumentForRevision(schema: string, id: string, revisionNumber: string, options?: any): AxiosPromise<Document> {
            return localVarFp.getDocumentForRevision(schema, id, revisionNumber, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает ревизии (версии) для указанного документа
         * @param {string} schema Название схемы документа
         * @param {string} id 
         * @param {number} [page] Номер страницы
         * @param {number} [perPage] Количество элементов на страницу
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRevisions(schema: string, id: string, page?: number, perPage?: number, options?: any): AxiosPromise<PageOfRevision> {
            return localVarFp.getRevisions(schema, id, page, perPage, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает ревизии (версии) для указанного документа в указанном диапазоне
         * @param {string} schema Название схемы документа
         * @param {string} id 
         * @param {number} from Начало временного диапазона (UnixTime in millis)
         * @param {number} to Конец временного диапазона (UnixTime in millis)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRevisionsByRange(schema: string, id: string, from: number, to: number, options?: any): AxiosPromise<Array<Revision>> {
            return localVarFp.getRevisionsByRange(schema, id, from, to, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Удаляет ревизии в заданном промежутке от и до времени created (создания) ревизии
         * @param {string} schema Название схемы документа
         * @param {number} fromUnixTime С какого UnixTime времени создания ревизии начать удаление
         * @param {number} toUnixTime По какое UnixTime время создания ревизии закончить удаление
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        recoverRevision(schema: string, fromUnixTime: number, toUnixTime: number, options?: any): AxiosPromise<Response> {
            return localVarFp.recoverRevision(schema, fromUnixTime, toUnixTime, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Восстанавливает документ из указанной ревизии
         * @param {string} schema Название схемы документа
         * @param {string} id 
         * @param {string} revision Номер ревизии (версии)
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        recoverRevision1(schema: string, id: string, revision: string, options?: any): AxiosPromise<ModifyResponse> {
            return localVarFp.recoverRevision1(schema, id, revision, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * VersioningApi - object-oriented interface
 * @export
 * @class VersioningApi
 * @extends {BaseAPI}
 */
export class VersioningApi extends BaseAPI {
    /**
     * 
     * @summary Возвращает документ из выбранной ревизии (версии)
     * @param {string} schema Название схемы документа
     * @param {string} id 
     * @param {string} revisionNumber Номер ревизии (версии)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VersioningApi
     */
    public getDocumentForRevision(schema: string, id: string, revisionNumber: string, options?: any) {
        return VersioningApiFp(this.configuration).getDocumentForRevision(schema, id, revisionNumber, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает ревизии (версии) для указанного документа
     * @param {string} schema Название схемы документа
     * @param {string} id 
     * @param {number} [page] Номер страницы
     * @param {number} [perPage] Количество элементов на страницу
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VersioningApi
     */
    public getRevisions(schema: string, id: string, page?: number, perPage?: number, options?: any) {
        return VersioningApiFp(this.configuration).getRevisions(schema, id, page, perPage, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает ревизии (версии) для указанного документа в указанном диапазоне
     * @param {string} schema Название схемы документа
     * @param {string} id 
     * @param {number} from Начало временного диапазона (UnixTime in millis)
     * @param {number} to Конец временного диапазона (UnixTime in millis)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VersioningApi
     */
    public getRevisionsByRange(schema: string, id: string, from: number, to: number, options?: any) {
        return VersioningApiFp(this.configuration).getRevisionsByRange(schema, id, from, to, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Удаляет ревизии в заданном промежутке от и до времени created (создания) ревизии
     * @param {string} schema Название схемы документа
     * @param {number} fromUnixTime С какого UnixTime времени создания ревизии начать удаление
     * @param {number} toUnixTime По какое UnixTime время создания ревизии закончить удаление
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VersioningApi
     */
    public recoverRevision(schema: string, fromUnixTime: number, toUnixTime: number, options?: any) {
        return VersioningApiFp(this.configuration).recoverRevision(schema, fromUnixTime, toUnixTime, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Восстанавливает документ из указанной ревизии
     * @param {string} schema Название схемы документа
     * @param {string} id 
     * @param {string} revision Номер ревизии (версии)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof VersioningApi
     */
    public recoverRevision1(schema: string, id: string, revision: string, options?: any) {
        return VersioningApiFp(this.configuration).recoverRevision1(schema, id, revision, options).then((request) => request(this.axios, this.basePath));
    }
}


