/* tslint:disable */
/* eslint-disable */
/**
 * s3urlsigner
 * Сервис подписи запросов к S3
 *
 * The version of the OpenAPI document: 1.29.5
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


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

/**
 * 
 * @export
 * @interface AccessibleObject
 */
export interface AccessibleObject {
    /**
     * 
     * @type {boolean}
     * @memberof AccessibleObject
     * @deprecated
     */
    'accessible'?: boolean;
    /**
     * 
     * @type {Array<any>}
     * @memberof AccessibleObject
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof AccessibleObject
     */
    'declaredAnnotations'?: Array<any>;
}
/**
 * 
 * @export
 * @interface AnnotatedElement
 */
export interface AnnotatedElement {
    /**
     * 
     * @type {Array<any>}
     * @memberof AnnotatedElement
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof AnnotatedElement
     */
    'declaredAnnotations'?: Array<any>;
}
/**
 * 
 * @export
 * @interface AnnotatedType
 */
export interface AnnotatedType {
    /**
     * 
     * @type {Array<any>}
     * @memberof AnnotatedType
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof AnnotatedType
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof AnnotatedType
     */
    'annotatedOwnerType'?: AnnotatedType;
    /**
     * 
     * @type {Type}
     * @memberof AnnotatedType
     */
    'type'?: Type;
}
/**
 * 
 * @export
 * @interface AnnotatedTypeAllOf
 */
export interface AnnotatedTypeAllOf {
    /**
     * 
     * @type {AnnotatedType}
     * @memberof AnnotatedTypeAllOf
     */
    'annotatedOwnerType'?: AnnotatedType;
    /**
     * 
     * @type {Type}
     * @memberof AnnotatedTypeAllOf
     */
    'type'?: Type;
    /**
     * 
     * @type {Array<any>}
     * @memberof AnnotatedTypeAllOf
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof AnnotatedTypeAllOf
     */
    'declaredAnnotations'?: Array<any>;
}
/**
 * 
 * @export
 * @interface ArchiveRequest
 */
export interface ArchiveRequest {
    /**
     * 
     * @type {Array<string>}
     * @memberof ArchiveRequest
     */
    'objectUrls'?: Array<string>;
    /**
     * 
     * @type {string}
     * @memberof ArchiveRequest
     */
    'resultArchiveObjectKey'?: string;
}
/**
 * 
 * @export
 * @interface AttributeHolder
 */
export interface AttributeHolder {
    /**
     * 
     * @type {ConvertibleValuesObject}
     * @memberof AttributeHolder
     */
    'attributes': ConvertibleValuesObject;
}
/**
 * 
 * @export
 * @interface CertPath
 */
export interface CertPath {
    /**
     * 
     * @type {string}
     * @memberof CertPath
     */
    'type': string;
    /**
     * 
     * @type {any}
     * @memberof CertPath
     */
    'encodings'?: any;
    /**
     * 
     * @type {Array<string>}
     * @memberof CertPath
     */
    'encoded'?: Array<string>;
    /**
     * 
     * @type {Array<Certificate>}
     * @memberof CertPath
     */
    'certificates'?: Array<Certificate>;
}
/**
 * 
 * @export
 * @interface Certificate
 */
export interface Certificate {
    /**
     * 
     * @type {string}
     * @memberof Certificate
     */
    'type': string;
    /**
     * 
     * @type {Array<string>}
     * @memberof Certificate
     */
    'encoded'?: Array<string>;
    /**
     * 
     * @type {PublicKey}
     * @memberof Certificate
     */
    'publicKey'?: PublicKey;
}
/**
 * 
 * @export
 * @interface Charset
 */
export interface Charset {
    /**
     * 
     * @type {boolean}
     * @memberof Charset
     */
    'registered'?: boolean;
}
/**
 * 
 * @export
 * @interface ClassCookie
 */
export interface ClassCookie {
    /**
     * 
     * @type {boolean}
     * @memberof ClassCookie
     */
    'interface'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassCookie
     */
    'array'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassCookie
     */
    'primitive'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassCookie
     */
    'annotation'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassCookie
     */
    'synthetic'?: boolean;
    /**
     * 
     * @type {string}
     * @memberof ClassCookie
     */
    'name'?: string;
    /**
     * 
     * @type {ClassLoader}
     * @memberof ClassCookie
     */
    'classLoader'?: ClassLoader;
    /**
     * 
     * @type {Module}
     * @memberof ClassCookie
     */
    'module'?: Module;
    /**
     * 
     * @type {Array<TypeVariableClassCookie>}
     * @memberof ClassCookie
     */
    'typeParameters'?: Array<TypeVariableClassCookie>;
    /**
     * 
     * @type {ClassCookie}
     * @memberof ClassCookie
     */
    'superclass'?: ClassCookie;
    /**
     * 
     * @type {Type}
     * @memberof ClassCookie
     */
    'genericSuperclass'?: Type;
    /**
     * 
     * @type {Package}
     * @memberof ClassCookie
     */
    'package'?: Package;
    /**
     * 
     * @type {string}
     * @memberof ClassCookie
     */
    'packageName'?: string;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ClassCookie
     */
    'interfaces'?: Array<ClassObject>;
    /**
     * 
     * @type {Array<Type>}
     * @memberof ClassCookie
     */
    'genericInterfaces'?: Array<Type>;
    /**
     * 
     * @type {ClassObject}
     * @memberof ClassCookie
     */
    'componentType'?: ClassObject;
    /**
     * 
     * @type {number}
     * @memberof ClassCookie
     */
    'modifiers'?: number;
    /**
     * 
     * @type {Array<any>}
     * @memberof ClassCookie
     */
    'signers'?: Array<any>;
    /**
     * 
     * @type {Method}
     * @memberof ClassCookie
     */
    'enclosingMethod'?: Method;
    /**
     * 
     * @type {ConstructorObject}
     * @memberof ClassCookie
     */
    'enclosingConstructor'?: ConstructorObject;
    /**
     * 
     * @type {ClassObject}
     * @memberof ClassCookie
     */
    'declaringClass'?: ClassObject;
    /**
     * 
     * @type {ClassObject}
     * @memberof ClassCookie
     */
    'enclosingClass'?: ClassObject;
    /**
     * 
     * @type {string}
     * @memberof ClassCookie
     */
    'simpleName'?: string;
    /**
     * 
     * @type {string}
     * @memberof ClassCookie
     */
    'typeName'?: string;
    /**
     * 
     * @type {string}
     * @memberof ClassCookie
     */
    'canonicalName'?: string;
    /**
     * 
     * @type {boolean}
     * @memberof ClassCookie
     */
    'anonymousClass'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassCookie
     */
    'localClass'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassCookie
     */
    'memberClass'?: boolean;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ClassCookie
     */
    'classes'?: Array<ClassObject>;
    /**
     * 
     * @type {Array<Field>}
     * @memberof ClassCookie
     */
    'fields'?: Array<Field>;
    /**
     * 
     * @type {Array<Method>}
     * @memberof ClassCookie
     */
    'methods'?: Array<Method>;
    /**
     * 
     * @type {Array<ConstructorObject>}
     * @memberof ClassCookie
     */
    'constructors'?: Array<ConstructorObject>;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ClassCookie
     */
    'declaredClasses'?: Array<ClassObject>;
    /**
     * 
     * @type {Array<Field>}
     * @memberof ClassCookie
     */
    'declaredFields'?: Array<Field>;
    /**
     * 
     * @type {Array<RecordComponent>}
     * @memberof ClassCookie
     */
    'recordComponents'?: Array<RecordComponent>;
    /**
     * 
     * @type {Array<Method>}
     * @memberof ClassCookie
     */
    'declaredMethods'?: Array<Method>;
    /**
     * 
     * @type {Array<ConstructorObject>}
     * @memberof ClassCookie
     */
    'declaredConstructors'?: Array<ConstructorObject>;
    /**
     * 
     * @type {ProtectionDomain}
     * @memberof ClassCookie
     */
    'protectionDomain'?: ProtectionDomain;
    /**
     * 
     * @type {boolean}
     * @memberof ClassCookie
     */
    'enum'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassCookie
     */
    'record'?: boolean;
    /**
     * 
     * @type {Array<Cookie>}
     * @memberof ClassCookie
     */
    'enumConstants'?: Array<Cookie>;
    /**
     * 
     * @type {Array<any>}
     * @memberof ClassCookie
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof ClassCookie
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof ClassCookie
     */
    'annotatedSuperclass'?: AnnotatedType;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof ClassCookie
     */
    'annotatedInterfaces'?: Array<AnnotatedType>;
    /**
     * 
     * @type {ClassObject}
     * @memberof ClassCookie
     */
    'nestHost'?: ClassObject;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ClassCookie
     */
    'nestMembers'?: Array<ClassObject>;
    /**
     * 
     * @type {boolean}
     * @memberof ClassCookie
     */
    'hidden'?: boolean;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ClassCookie
     */
    'permittedSubclasses'?: Array<ClassObject>;
    /**
     * 
     * @type {boolean}
     * @memberof ClassCookie
     */
    'sealed'?: boolean;
}
/**
 * 
 * @export
 * @interface ClassListString
 */
export interface ClassListString {
    /**
     * 
     * @type {boolean}
     * @memberof ClassListString
     */
    'interface'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassListString
     */
    'array'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassListString
     */
    'primitive'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassListString
     */
    'annotation'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassListString
     */
    'synthetic'?: boolean;
    /**
     * 
     * @type {string}
     * @memberof ClassListString
     */
    'name'?: string;
    /**
     * 
     * @type {ClassLoader}
     * @memberof ClassListString
     */
    'classLoader'?: ClassLoader;
    /**
     * 
     * @type {Module}
     * @memberof ClassListString
     */
    'module'?: Module;
    /**
     * 
     * @type {Array<TypeVariableClassListString>}
     * @memberof ClassListString
     */
    'typeParameters'?: Array<TypeVariableClassListString>;
    /**
     * 
     * @type {ClassListString}
     * @memberof ClassListString
     */
    'superclass'?: ClassListString;
    /**
     * 
     * @type {Type}
     * @memberof ClassListString
     */
    'genericSuperclass'?: Type;
    /**
     * 
     * @type {Package}
     * @memberof ClassListString
     */
    'package'?: Package;
    /**
     * 
     * @type {string}
     * @memberof ClassListString
     */
    'packageName'?: string;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ClassListString
     */
    'interfaces'?: Array<ClassObject>;
    /**
     * 
     * @type {Array<Type>}
     * @memberof ClassListString
     */
    'genericInterfaces'?: Array<Type>;
    /**
     * 
     * @type {ClassObject}
     * @memberof ClassListString
     */
    'componentType'?: ClassObject;
    /**
     * 
     * @type {number}
     * @memberof ClassListString
     */
    'modifiers'?: number;
    /**
     * 
     * @type {Array<any>}
     * @memberof ClassListString
     */
    'signers'?: Array<any>;
    /**
     * 
     * @type {Method}
     * @memberof ClassListString
     */
    'enclosingMethod'?: Method;
    /**
     * 
     * @type {ConstructorObject}
     * @memberof ClassListString
     */
    'enclosingConstructor'?: ConstructorObject;
    /**
     * 
     * @type {ClassObject}
     * @memberof ClassListString
     */
    'declaringClass'?: ClassObject;
    /**
     * 
     * @type {ClassObject}
     * @memberof ClassListString
     */
    'enclosingClass'?: ClassObject;
    /**
     * 
     * @type {string}
     * @memberof ClassListString
     */
    'simpleName'?: string;
    /**
     * 
     * @type {string}
     * @memberof ClassListString
     */
    'typeName'?: string;
    /**
     * 
     * @type {string}
     * @memberof ClassListString
     */
    'canonicalName'?: string;
    /**
     * 
     * @type {boolean}
     * @memberof ClassListString
     */
    'anonymousClass'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassListString
     */
    'localClass'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassListString
     */
    'memberClass'?: boolean;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ClassListString
     */
    'classes'?: Array<ClassObject>;
    /**
     * 
     * @type {Array<Field>}
     * @memberof ClassListString
     */
    'fields'?: Array<Field>;
    /**
     * 
     * @type {Array<Method>}
     * @memberof ClassListString
     */
    'methods'?: Array<Method>;
    /**
     * 
     * @type {Array<ConstructorObject>}
     * @memberof ClassListString
     */
    'constructors'?: Array<ConstructorObject>;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ClassListString
     */
    'declaredClasses'?: Array<ClassObject>;
    /**
     * 
     * @type {Array<Field>}
     * @memberof ClassListString
     */
    'declaredFields'?: Array<Field>;
    /**
     * 
     * @type {Array<RecordComponent>}
     * @memberof ClassListString
     */
    'recordComponents'?: Array<RecordComponent>;
    /**
     * 
     * @type {Array<Method>}
     * @memberof ClassListString
     */
    'declaredMethods'?: Array<Method>;
    /**
     * 
     * @type {Array<ConstructorObject>}
     * @memberof ClassListString
     */
    'declaredConstructors'?: Array<ConstructorObject>;
    /**
     * 
     * @type {ProtectionDomain}
     * @memberof ClassListString
     */
    'protectionDomain'?: ProtectionDomain;
    /**
     * 
     * @type {boolean}
     * @memberof ClassListString
     */
    'enum'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassListString
     */
    'record'?: boolean;
    /**
     * 
     * @type {Array<Array<string>>}
     * @memberof ClassListString
     */
    'enumConstants'?: Array<Array<string>>;
    /**
     * 
     * @type {Array<any>}
     * @memberof ClassListString
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof ClassListString
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof ClassListString
     */
    'annotatedSuperclass'?: AnnotatedType;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof ClassListString
     */
    'annotatedInterfaces'?: Array<AnnotatedType>;
    /**
     * 
     * @type {ClassObject}
     * @memberof ClassListString
     */
    'nestHost'?: ClassObject;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ClassListString
     */
    'nestMembers'?: Array<ClassObject>;
    /**
     * 
     * @type {boolean}
     * @memberof ClassListString
     */
    'hidden'?: boolean;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ClassListString
     */
    'permittedSubclasses'?: Array<ClassObject>;
    /**
     * 
     * @type {boolean}
     * @memberof ClassListString
     */
    'sealed'?: boolean;
}
/**
 * 
 * @export
 * @interface ClassLoader
 */
export interface ClassLoader {
    /**
     * 
     * @type {string}
     * @memberof ClassLoader
     */
    'name'?: string;
    /**
     * 
     * @type {boolean}
     * @memberof ClassLoader
     */
    'registeredAsParallelCapable'?: boolean;
    /**
     * 
     * @type {ClassLoader}
     * @memberof ClassLoader
     */
    'parent'?: ClassLoader;
    /**
     * 
     * @type {Module}
     * @memberof ClassLoader
     */
    'unnamedModule'?: Module;
    /**
     * 
     * @type {Array<Package>}
     * @memberof ClassLoader
     */
    'definedPackages'?: Array<Package>;
}
/**
 * 
 * @export
 * @interface ClassObject
 */
export interface ClassObject {
    /**
     * 
     * @type {boolean}
     * @memberof ClassObject
     */
    'interface'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassObject
     */
    'array'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassObject
     */
    'primitive'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassObject
     */
    'annotation'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassObject
     */
    'synthetic'?: boolean;
    /**
     * 
     * @type {string}
     * @memberof ClassObject
     */
    'name'?: string;
    /**
     * 
     * @type {ClassLoader}
     * @memberof ClassObject
     */
    'classLoader'?: ClassLoader;
    /**
     * 
     * @type {Module}
     * @memberof ClassObject
     */
    'module'?: Module;
    /**
     * 
     * @type {Array<TypeVariableClassObject>}
     * @memberof ClassObject
     */
    'typeParameters'?: Array<TypeVariableClassObject>;
    /**
     * 
     * @type {ClassObject}
     * @memberof ClassObject
     */
    'superclass'?: ClassObject;
    /**
     * 
     * @type {Type}
     * @memberof ClassObject
     */
    'genericSuperclass'?: Type;
    /**
     * 
     * @type {Package}
     * @memberof ClassObject
     */
    'package'?: Package;
    /**
     * 
     * @type {string}
     * @memberof ClassObject
     */
    'packageName'?: string;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ClassObject
     */
    'interfaces'?: Array<ClassObject>;
    /**
     * 
     * @type {Array<Type>}
     * @memberof ClassObject
     */
    'genericInterfaces'?: Array<Type>;
    /**
     * 
     * @type {ClassObject}
     * @memberof ClassObject
     */
    'componentType'?: ClassObject;
    /**
     * 
     * @type {number}
     * @memberof ClassObject
     */
    'modifiers'?: number;
    /**
     * 
     * @type {Array<any>}
     * @memberof ClassObject
     */
    'signers'?: Array<any>;
    /**
     * 
     * @type {Method}
     * @memberof ClassObject
     */
    'enclosingMethod'?: Method;
    /**
     * 
     * @type {ConstructorObject}
     * @memberof ClassObject
     */
    'enclosingConstructor'?: ConstructorObject;
    /**
     * 
     * @type {ClassObject}
     * @memberof ClassObject
     */
    'declaringClass'?: ClassObject;
    /**
     * 
     * @type {ClassObject}
     * @memberof ClassObject
     */
    'enclosingClass'?: ClassObject;
    /**
     * 
     * @type {string}
     * @memberof ClassObject
     */
    'simpleName'?: string;
    /**
     * 
     * @type {string}
     * @memberof ClassObject
     */
    'typeName'?: string;
    /**
     * 
     * @type {string}
     * @memberof ClassObject
     */
    'canonicalName'?: string;
    /**
     * 
     * @type {boolean}
     * @memberof ClassObject
     */
    'anonymousClass'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassObject
     */
    'localClass'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassObject
     */
    'memberClass'?: boolean;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ClassObject
     */
    'classes'?: Array<ClassObject>;
    /**
     * 
     * @type {Array<Field>}
     * @memberof ClassObject
     */
    'fields'?: Array<Field>;
    /**
     * 
     * @type {Array<Method>}
     * @memberof ClassObject
     */
    'methods'?: Array<Method>;
    /**
     * 
     * @type {Array<ConstructorObject>}
     * @memberof ClassObject
     */
    'constructors'?: Array<ConstructorObject>;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ClassObject
     */
    'declaredClasses'?: Array<ClassObject>;
    /**
     * 
     * @type {Array<Field>}
     * @memberof ClassObject
     */
    'declaredFields'?: Array<Field>;
    /**
     * 
     * @type {Array<RecordComponent>}
     * @memberof ClassObject
     */
    'recordComponents'?: Array<RecordComponent>;
    /**
     * 
     * @type {Array<Method>}
     * @memberof ClassObject
     */
    'declaredMethods'?: Array<Method>;
    /**
     * 
     * @type {Array<ConstructorObject>}
     * @memberof ClassObject
     */
    'declaredConstructors'?: Array<ConstructorObject>;
    /**
     * 
     * @type {ProtectionDomain}
     * @memberof ClassObject
     */
    'protectionDomain'?: ProtectionDomain;
    /**
     * 
     * @type {boolean}
     * @memberof ClassObject
     */
    'enum'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ClassObject
     */
    'record'?: boolean;
    /**
     * 
     * @type {Array<any>}
     * @memberof ClassObject
     */
    'enumConstants'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof ClassObject
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof ClassObject
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof ClassObject
     */
    'annotatedSuperclass'?: AnnotatedType;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof ClassObject
     */
    'annotatedInterfaces'?: Array<AnnotatedType>;
    /**
     * 
     * @type {ClassObject}
     * @memberof ClassObject
     */
    'nestHost'?: ClassObject;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ClassObject
     */
    'nestMembers'?: Array<ClassObject>;
    /**
     * 
     * @type {boolean}
     * @memberof ClassObject
     */
    'hidden'?: boolean;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ClassObject
     */
    'permittedSubclasses'?: Array<ClassObject>;
    /**
     * 
     * @type {boolean}
     * @memberof ClassObject
     */
    'sealed'?: boolean;
}
/**
 * 
 * @export
 * @interface CodeSigner
 */
export interface CodeSigner {
    /**
     * 
     * @type {CertPath}
     * @memberof CodeSigner
     */
    'signerCertPath': CertPath;
    /**
     * 
     * @type {Timestamp}
     * @memberof CodeSigner
     */
    'timestamp': Timestamp;
}
/**
 * 
 * @export
 * @interface CodeSource
 */
export interface CodeSource {
    /**
     * 
     * @type {string}
     * @memberof CodeSource
     */
    'location'?: string;
    /**
     * 
     * @type {Array<Certificate>}
     * @memberof CodeSource
     */
    'certificates'?: Array<Certificate>;
    /**
     * 
     * @type {Array<CodeSigner>}
     * @memberof CodeSource
     */
    'codeSigners'?: Array<CodeSigner>;
}
/**
 * 
 * @export
 * @interface ConstructorObject
 */
export interface ConstructorObject {
    /**
     * 
     * @type {boolean}
     * @memberof ConstructorObject
     * @deprecated
     */
    'accessible'?: boolean;
    /**
     * 
     * @type {Array<any>}
     * @memberof ConstructorObject
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof ConstructorObject
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {ClassObject}
     * @memberof ConstructorObject
     */
    'declaringClass': ClassObject;
    /**
     * 
     * @type {string}
     * @memberof ConstructorObject
     */
    'name'?: string;
    /**
     * 
     * @type {number}
     * @memberof ConstructorObject
     */
    'modifiers': number;
    /**
     * 
     * @type {Array<TypeVariableConstructorObject>}
     * @memberof ConstructorObject
     */
    'typeParameters'?: Array<TypeVariableConstructorObject>;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ConstructorObject
     */
    'parameterTypes': Array<ClassObject>;
    /**
     * 
     * @type {number}
     * @memberof ConstructorObject
     */
    'parameterCount'?: number;
    /**
     * 
     * @type {Array<Type>}
     * @memberof ConstructorObject
     */
    'genericParameterTypes'?: Array<Type>;
    /**
     * 
     * @type {Array<Parameter>}
     * @memberof ConstructorObject
     */
    'parameters'?: Array<Parameter>;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ConstructorObject
     */
    'exceptionTypes'?: Array<ClassObject>;
    /**
     * 
     * @type {Array<Type>}
     * @memberof ConstructorObject
     */
    'genericExceptionTypes'?: Array<Type>;
    /**
     * 
     * @type {boolean}
     * @memberof ConstructorObject
     */
    'varArgs'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ConstructorObject
     */
    'synthetic'?: boolean;
    /**
     * 
     * @type {Array<Array<any>>}
     * @memberof ConstructorObject
     */
    'parameterAnnotations': Array<Array<any>>;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof ConstructorObject
     */
    'annotatedReturnType'?: AnnotatedType;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof ConstructorObject
     */
    'annotatedReceiverType'?: AnnotatedType;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof ConstructorObject
     */
    'annotatedParameterTypes'?: Array<AnnotatedType>;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof ConstructorObject
     */
    'annotatedExceptionTypes'?: Array<AnnotatedType>;
}
/**
 * 
 * @export
 * @interface ConstructorObjectAllOf
 */
export interface ConstructorObjectAllOf {
    /**
     * 
     * @type {boolean}
     * @memberof ConstructorObjectAllOf
     * @deprecated
     */
    'accessible'?: boolean;
    /**
     * 
     * @type {ClassObject}
     * @memberof ConstructorObjectAllOf
     */
    'declaringClass': ClassObject;
    /**
     * 
     * @type {string}
     * @memberof ConstructorObjectAllOf
     */
    'name'?: string;
    /**
     * 
     * @type {number}
     * @memberof ConstructorObjectAllOf
     */
    'modifiers': number;
    /**
     * 
     * @type {Array<TypeVariableConstructorObject>}
     * @memberof ConstructorObjectAllOf
     */
    'typeParameters'?: Array<TypeVariableConstructorObject>;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ConstructorObjectAllOf
     */
    'parameterTypes': Array<ClassObject>;
    /**
     * 
     * @type {number}
     * @memberof ConstructorObjectAllOf
     */
    'parameterCount'?: number;
    /**
     * 
     * @type {Array<Type>}
     * @memberof ConstructorObjectAllOf
     */
    'genericParameterTypes'?: Array<Type>;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ConstructorObjectAllOf
     */
    'exceptionTypes'?: Array<ClassObject>;
    /**
     * 
     * @type {Array<Type>}
     * @memberof ConstructorObjectAllOf
     */
    'genericExceptionTypes'?: Array<Type>;
    /**
     * 
     * @type {boolean}
     * @memberof ConstructorObjectAllOf
     */
    'varArgs'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ConstructorObjectAllOf
     */
    'synthetic'?: boolean;
    /**
     * 
     * @type {Array<any>}
     * @memberof ConstructorObjectAllOf
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {Array<Array<any>>}
     * @memberof ConstructorObjectAllOf
     */
    'parameterAnnotations': Array<Array<any>>;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof ConstructorObjectAllOf
     */
    'annotatedReturnType'?: AnnotatedType;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof ConstructorObjectAllOf
     */
    'annotatedReceiverType'?: AnnotatedType;
}
/**
 * 
 * @export
 * @interface ConvertibleMultiValuesString
 */
export interface ConvertibleMultiValuesString {
    /**
     * 
     * @type {boolean}
     * @memberof ConvertibleMultiValuesString
     */
    'empty'?: boolean;
    /**
     * 
     * @type {ClassListString}
     * @memberof ConvertibleMultiValuesString
     */
    'valueType'?: ClassListString;
}
/**
 * 
 * @export
 * @interface ConvertibleMultiValuesStringAllOf
 */
export interface ConvertibleMultiValuesStringAllOf {
    /**
     * 
     * @type {boolean}
     * @memberof ConvertibleMultiValuesStringAllOf
     */
    'empty'?: boolean;
}
/**
 * 
 * @export
 * @interface ConvertibleValuesCookie
 */
export interface ConvertibleValuesCookie {
    /**
     * 
     * @type {boolean}
     * @memberof ConvertibleValuesCookie
     */
    'empty'?: boolean;
    /**
     * 
     * @type {ClassCookie}
     * @memberof ConvertibleValuesCookie
     */
    'valueType'?: ClassCookie;
}
/**
 * 
 * @export
 * @interface ConvertibleValuesListString
 */
export interface ConvertibleValuesListString {
    /**
     * 
     * @type {boolean}
     * @memberof ConvertibleValuesListString
     */
    'empty'?: boolean;
    /**
     * 
     * @type {ClassListString}
     * @memberof ConvertibleValuesListString
     */
    'valueType'?: ClassListString;
}
/**
 * 
 * @export
 * @interface ConvertibleValuesObject
 */
export interface ConvertibleValuesObject {
    /**
     * 
     * @type {boolean}
     * @memberof ConvertibleValuesObject
     */
    'empty'?: boolean;
    /**
     * 
     * @type {ClassObject}
     * @memberof ConvertibleValuesObject
     */
    'valueType'?: ClassObject;
}
/**
 * 
 * @export
 * @interface Cookie
 */
export interface Cookie {
    /**
     * 
     * @type {string}
     * @memberof Cookie
     */
    'name': string;
    /**
     * 
     * @type {string}
     * @memberof Cookie
     */
    'value': string;
    /**
     * 
     * @type {string}
     * @memberof Cookie
     */
    'domain'?: string | null;
    /**
     * 
     * @type {string}
     * @memberof Cookie
     */
    'path'?: string | null;
    /**
     * 
     * @type {boolean}
     * @memberof Cookie
     */
    'httpOnly'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof Cookie
     */
    'secure'?: boolean;
    /**
     * 
     * @type {number}
     * @memberof Cookie
     */
    'maxAge'?: number;
    /**
     * 
     * @type {SameSite}
     * @memberof Cookie
     */
    'sameSite'?: SameSite | null;
}
/**
 * 
 * @export
 * @interface Cookies
 */
export interface Cookies {
    /**
     * 
     * @type {boolean}
     * @memberof Cookies
     */
    'empty'?: boolean;
    /**
     * 
     * @type {ClassCookie}
     * @memberof Cookies
     */
    'valueType'?: ClassCookie;
    /**
     * 
     * @type {Array<Cookie>}
     * @memberof Cookies
     */
    'all'?: Array<Cookie>;
}
/**
 * 
 * @export
 * @interface CookiesAllOf
 */
export interface CookiesAllOf {
    /**
     * 
     * @type {Array<Cookie>}
     * @memberof CookiesAllOf
     */
    'all'?: Array<Cookie>;
}
/**
 * 
 * @export
 * @interface Executable
 */
export interface Executable {
    /**
     * 
     * @type {boolean}
     * @memberof Executable
     * @deprecated
     */
    'accessible'?: boolean;
    /**
     * 
     * @type {Array<any>}
     * @memberof Executable
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof Executable
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {ClassObject}
     * @memberof Executable
     */
    'declaringClass'?: ClassObject;
    /**
     * 
     * @type {string}
     * @memberof Executable
     */
    'name'?: string;
    /**
     * 
     * @type {number}
     * @memberof Executable
     */
    'modifiers'?: number;
    /**
     * 
     * @type {Array<TypeVariableGenericDeclaration>}
     * @memberof Executable
     */
    'typeParameters'?: Array<TypeVariableGenericDeclaration>;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof Executable
     */
    'parameterTypes'?: Array<ClassObject>;
    /**
     * 
     * @type {number}
     * @memberof Executable
     */
    'parameterCount'?: number;
    /**
     * 
     * @type {Array<Type>}
     * @memberof Executable
     */
    'genericParameterTypes'?: Array<Type>;
    /**
     * 
     * @type {Array<Parameter>}
     * @memberof Executable
     */
    'parameters'?: Array<Parameter>;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof Executable
     */
    'exceptionTypes'?: Array<ClassObject>;
    /**
     * 
     * @type {Array<Type>}
     * @memberof Executable
     */
    'genericExceptionTypes'?: Array<Type>;
    /**
     * 
     * @type {boolean}
     * @memberof Executable
     */
    'varArgs'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof Executable
     */
    'synthetic'?: boolean;
    /**
     * 
     * @type {Array<Array<any>>}
     * @memberof Executable
     */
    'parameterAnnotations'?: Array<Array<any>>;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof Executable
     */
    'annotatedReturnType'?: AnnotatedType;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof Executable
     */
    'annotatedReceiverType'?: AnnotatedType;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof Executable
     */
    'annotatedParameterTypes'?: Array<AnnotatedType>;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof Executable
     */
    'annotatedExceptionTypes'?: Array<AnnotatedType>;
}
/**
 * 
 * @export
 * @interface ExecutableAllOf
 */
export interface ExecutableAllOf {
    /**
     * 
     * @type {ClassObject}
     * @memberof ExecutableAllOf
     */
    'declaringClass'?: ClassObject;
    /**
     * 
     * @type {string}
     * @memberof ExecutableAllOf
     */
    'name'?: string;
    /**
     * 
     * @type {number}
     * @memberof ExecutableAllOf
     */
    'modifiers'?: number;
    /**
     * 
     * @type {Array<TypeVariableGenericDeclaration>}
     * @memberof ExecutableAllOf
     */
    'typeParameters'?: Array<TypeVariableGenericDeclaration>;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ExecutableAllOf
     */
    'parameterTypes'?: Array<ClassObject>;
    /**
     * 
     * @type {number}
     * @memberof ExecutableAllOf
     */
    'parameterCount'?: number;
    /**
     * 
     * @type {Array<Type>}
     * @memberof ExecutableAllOf
     */
    'genericParameterTypes'?: Array<Type>;
    /**
     * 
     * @type {Array<Parameter>}
     * @memberof ExecutableAllOf
     */
    'parameters'?: Array<Parameter>;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof ExecutableAllOf
     */
    'exceptionTypes'?: Array<ClassObject>;
    /**
     * 
     * @type {Array<Type>}
     * @memberof ExecutableAllOf
     */
    'genericExceptionTypes'?: Array<Type>;
    /**
     * 
     * @type {boolean}
     * @memberof ExecutableAllOf
     */
    'varArgs'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ExecutableAllOf
     */
    'synthetic'?: boolean;
    /**
     * 
     * @type {Array<Array<any>>}
     * @memberof ExecutableAllOf
     */
    'parameterAnnotations'?: Array<Array<any>>;
    /**
     * 
     * @type {Array<any>}
     * @memberof ExecutableAllOf
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof ExecutableAllOf
     */
    'annotatedReturnType'?: AnnotatedType;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof ExecutableAllOf
     */
    'annotatedReceiverType'?: AnnotatedType;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof ExecutableAllOf
     */
    'annotatedParameterTypes'?: Array<AnnotatedType>;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof ExecutableAllOf
     */
    'annotatedExceptionTypes'?: Array<AnnotatedType>;
}
/**
 * 
 * @export
 * @interface Field
 */
export interface Field {
    /**
     * 
     * @type {boolean}
     * @memberof Field
     * @deprecated
     */
    'accessible'?: boolean;
    /**
     * 
     * @type {Array<any>}
     * @memberof Field
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof Field
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {ClassObject}
     * @memberof Field
     */
    'declaringClass': ClassObject;
    /**
     * 
     * @type {string}
     * @memberof Field
     */
    'name': string;
    /**
     * 
     * @type {number}
     * @memberof Field
     */
    'modifiers': number;
    /**
     * 
     * @type {boolean}
     * @memberof Field
     */
    'enumConstant'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof Field
     */
    'synthetic'?: boolean;
    /**
     * 
     * @type {ClassObject}
     * @memberof Field
     */
    'type': ClassObject;
    /**
     * 
     * @type {Type}
     * @memberof Field
     */
    'genericType'?: Type;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof Field
     */
    'annotatedType'?: AnnotatedType;
}
/**
 * 
 * @export
 * @interface FieldAllOf
 */
export interface FieldAllOf {
    /**
     * 
     * @type {boolean}
     * @memberof FieldAllOf
     * @deprecated
     */
    'accessible'?: boolean;
    /**
     * 
     * @type {ClassObject}
     * @memberof FieldAllOf
     */
    'declaringClass': ClassObject;
    /**
     * 
     * @type {string}
     * @memberof FieldAllOf
     */
    'name': string;
    /**
     * 
     * @type {number}
     * @memberof FieldAllOf
     */
    'modifiers': number;
    /**
     * 
     * @type {boolean}
     * @memberof FieldAllOf
     */
    'enumConstant'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof FieldAllOf
     */
    'synthetic'?: boolean;
    /**
     * 
     * @type {ClassObject}
     * @memberof FieldAllOf
     */
    'type': ClassObject;
    /**
     * 
     * @type {Type}
     * @memberof FieldAllOf
     */
    'genericType'?: Type;
    /**
     * 
     * @type {Array<any>}
     * @memberof FieldAllOf
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof FieldAllOf
     */
    'annotatedType'?: AnnotatedType;
}
/**
 * 
 * @export
 * @interface GenericDeclaration
 */
export interface GenericDeclaration {
    /**
     * 
     * @type {Array<any>}
     * @memberof GenericDeclaration
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof GenericDeclaration
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {Array<TypeVariableGenericDeclaration>}
     * @memberof GenericDeclaration
     */
    'typeParameters'?: Array<TypeVariableGenericDeclaration>;
}
/**
 * 
 * @export
 * @interface GenericDeclarationAllOf
 */
export interface GenericDeclarationAllOf {
    /**
     * 
     * @type {Array<TypeVariableGenericDeclaration>}
     * @memberof GenericDeclarationAllOf
     */
    'typeParameters'?: Array<TypeVariableGenericDeclaration>;
}
/**
 * 
 * @export
 * @interface Headers
 */
export interface Headers {
    /**
     * 
     * @type {boolean}
     * @memberof Headers
     */
    'empty'?: boolean;
    /**
     * 
     * @type {ClassListString}
     * @memberof Headers
     */
    'valueType'?: ClassListString;
}
/**
 * 
 * @export
 * @interface HttpHeaders
 */
export interface HttpHeaders {
    /**
     * 
     * @type {boolean}
     * @memberof HttpHeaders
     */
    'empty'?: boolean;
    /**
     * 
     * @type {ClassListString}
     * @memberof HttpHeaders
     */
    'valueType'?: ClassListString;
    /**
     * 
     * @type {boolean}
     * @memberof HttpHeaders
     */
    'keepAlive'?: boolean;
    /**
     * 
     * @type {string}
     * @memberof HttpHeaders
     */
    'origin'?: string | null;
    /**
     * 
     * @type {string}
     * @memberof HttpHeaders
     */
    'authorization'?: string | null;
    /**
     * 
     * @type {string}
     * @memberof HttpHeaders
     */
    'contentType'?: string | null;
}
/**
 * 
 * @export
 * @interface HttpHeadersAllOf
 */
export interface HttpHeadersAllOf {
    /**
     * 
     * @type {boolean}
     * @memberof HttpHeadersAllOf
     */
    'keepAlive'?: boolean;
    /**
     * 
     * @type {string}
     * @memberof HttpHeadersAllOf
     */
    'origin'?: string | null;
    /**
     * 
     * @type {string}
     * @memberof HttpHeadersAllOf
     */
    'authorization'?: string | null;
    /**
     * 
     * @type {string}
     * @memberof HttpHeadersAllOf
     */
    'contentType'?: string | null;
}
/**
 * 
 * @export
 * @interface HttpMessageObject
 */
export interface HttpMessageObject {
    /**
     * 
     * @type {ConvertibleValuesObject}
     * @memberof HttpMessageObject
     */
    'attributes': ConvertibleValuesObject;
    /**
     * 
     * @type {HttpHeaders}
     * @memberof HttpMessageObject
     */
    'headers': HttpHeaders;
    /**
     * 
     * @type {any}
     * @memberof HttpMessageObject
     */
    'body': any | null;
    /**
     * 
     * @type {Charset}
     * @memberof HttpMessageObject
     */
    'characterEncoding': Charset;
    /**
     * 
     * @type {Locale}
     * @memberof HttpMessageObject
     */
    'locale': Locale | null;
    /**
     * 
     * @type {number}
     * @memberof HttpMessageObject
     */
    'contentLength'?: number;
    /**
     * 
     * @type {MediaType}
     * @memberof HttpMessageObject
     */
    'contentType': MediaType | null;
}
/**
 * 
 * @export
 * @interface HttpMessageObjectAllOf
 */
export interface HttpMessageObjectAllOf {
    /**
     * 
     * @type {HttpHeaders}
     * @memberof HttpMessageObjectAllOf
     */
    'headers': HttpHeaders;
    /**
     * 
     * @type {ConvertibleValuesObject}
     * @memberof HttpMessageObjectAllOf
     */
    'attributes': ConvertibleValuesObject;
    /**
     * 
     * @type {any}
     * @memberof HttpMessageObjectAllOf
     */
    'body': any | null;
    /**
     * 
     * @type {Charset}
     * @memberof HttpMessageObjectAllOf
     */
    'characterEncoding': Charset;
    /**
     * 
     * @type {Locale}
     * @memberof HttpMessageObjectAllOf
     */
    'locale': Locale | null;
    /**
     * 
     * @type {number}
     * @memberof HttpMessageObjectAllOf
     */
    'contentLength'?: number;
    /**
     * 
     * @type {MediaType}
     * @memberof HttpMessageObjectAllOf
     */
    'contentType': MediaType | null;
}
/**
 * 
 * @export
 * @interface HttpResponseObject
 */
export interface HttpResponseObject {
    /**
     * 
     * @type {ConvertibleValuesObject}
     * @memberof HttpResponseObject
     */
    'attributes': ConvertibleValuesObject;
    /**
     * 
     * @type {HttpHeaders}
     * @memberof HttpResponseObject
     */
    'headers': HttpHeaders;
    /**
     * 
     * @type {any}
     * @memberof HttpResponseObject
     */
    'body': any | null;
    /**
     * 
     * @type {Charset}
     * @memberof HttpResponseObject
     */
    'characterEncoding': Charset;
    /**
     * 
     * @type {Locale}
     * @memberof HttpResponseObject
     */
    'locale': Locale | null;
    /**
     * 
     * @type {number}
     * @memberof HttpResponseObject
     */
    'contentLength'?: number;
    /**
     * 
     * @type {MediaType}
     * @memberof HttpResponseObject
     */
    'contentType': MediaType | null;
    /**
     * 
     * @type {HttpStatus}
     * @memberof HttpResponseObject
     */
    'status'?: HttpStatus;
    /**
     * 
     * @type {Cookies}
     * @memberof HttpResponseObject
     */
    'cookies'?: Cookies;
}
/**
 * 
 * @export
 * @interface HttpResponseObjectAllOf
 */
export interface HttpResponseObjectAllOf {
    /**
     * 
     * @type {HttpStatus}
     * @memberof HttpResponseObjectAllOf
     */
    'status'?: HttpStatus;
    /**
     * 
     * @type {Cookies}
     * @memberof HttpResponseObjectAllOf
     */
    'cookies'?: Cookies;
}
/**
 * 
 * @export
 * @enum {string}
 */

export const HttpStatus = {
    Continue: 'CONTINUE',
    SwitchingProtocols: 'SWITCHING_PROTOCOLS',
    Processing: 'PROCESSING',
    Ok: 'OK',
    Created: 'CREATED',
    Accepted: 'ACCEPTED',
    NonAuthoritativeInformation: 'NON_AUTHORITATIVE_INFORMATION',
    NoContent: 'NO_CONTENT',
    ResetContent: 'RESET_CONTENT',
    PartialContent: 'PARTIAL_CONTENT',
    MultiStatus: 'MULTI_STATUS',
    AlreadyImported: 'ALREADY_IMPORTED',
    ImUsed: 'IM_USED',
    MultipleChoices: 'MULTIPLE_CHOICES',
    MovedPermanently: 'MOVED_PERMANENTLY',
    Found: 'FOUND',
    SeeOther: 'SEE_OTHER',
    NotModified: 'NOT_MODIFIED',
    UseProxy: 'USE_PROXY',
    SwitchProxy: 'SWITCH_PROXY',
    TemporaryRedirect: 'TEMPORARY_REDIRECT',
    PermanentRedirect: 'PERMANENT_REDIRECT',
    BadRequest: 'BAD_REQUEST',
    Unauthorized: 'UNAUTHORIZED',
    PaymentRequired: 'PAYMENT_REQUIRED',
    Forbidden: 'FORBIDDEN',
    NotFound: 'NOT_FOUND',
    MethodNotAllowed: 'METHOD_NOT_ALLOWED',
    NotAcceptable: 'NOT_ACCEPTABLE',
    ProxyAuthenticationRequired: 'PROXY_AUTHENTICATION_REQUIRED',
    RequestTimeout: 'REQUEST_TIMEOUT',
    Conflict: 'CONFLICT',
    Gone: 'GONE',
    LengthRequired: 'LENGTH_REQUIRED',
    PreconditionFailed: 'PRECONDITION_FAILED',
    RequestEntityTooLarge: 'REQUEST_ENTITY_TOO_LARGE',
    RequestUriTooLong: 'REQUEST_URI_TOO_LONG',
    UnsupportedMediaType: 'UNSUPPORTED_MEDIA_TYPE',
    RequestedRangeNotSatisfiable: 'REQUESTED_RANGE_NOT_SATISFIABLE',
    ExpectationFailed: 'EXPECTATION_FAILED',
    IAmATeapot: 'I_AM_A_TEAPOT',
    EnhanceYourCalm: 'ENHANCE_YOUR_CALM',
    UnprocessableEntity: 'UNPROCESSABLE_ENTITY',
    Locked: 'LOCKED',
    FailedDependency: 'FAILED_DEPENDENCY',
    UnorderedCollection: 'UNORDERED_COLLECTION',
    TooEarly: 'TOO_EARLY',
    UpgradeRequired: 'UPGRADE_REQUIRED',
    PreconditionRequired: 'PRECONDITION_REQUIRED',
    TooManyRequests: 'TOO_MANY_REQUESTS',
    RequestHeaderFieldsTooLarge: 'REQUEST_HEADER_FIELDS_TOO_LARGE',
    NoResponse: 'NO_RESPONSE',
    BlockedByWindowsParentalControls: 'BLOCKED_BY_WINDOWS_PARENTAL_CONTROLS',
    UnavailableForLegalReasons: 'UNAVAILABLE_FOR_LEGAL_REASONS',
    RequestHeaderTooLarge: 'REQUEST_HEADER_TOO_LARGE',
    InternalServerError: 'INTERNAL_SERVER_ERROR',
    NotImplemented: 'NOT_IMPLEMENTED',
    BadGateway: 'BAD_GATEWAY',
    ServiceUnavailable: 'SERVICE_UNAVAILABLE',
    GatewayTimeout: 'GATEWAY_TIMEOUT',
    HttpVersionNotSupported: 'HTTP_VERSION_NOT_SUPPORTED',
    VariantAlsoNegotiates: 'VARIANT_ALSO_NEGOTIATES',
    InsufficientStorage: 'INSUFFICIENT_STORAGE',
    LoopDetected: 'LOOP_DETECTED',
    BandwidthLimitExceeded: 'BANDWIDTH_LIMIT_EXCEEDED',
    NotExtended: 'NOT_EXTENDED',
    NetworkAuthenticationRequired: 'NETWORK_AUTHENTICATION_REQUIRED',
    ConnectionTimedOut: 'CONNECTION_TIMED_OUT'
} as const;

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


/**
 * 
 * @export
 * @interface Key
 */
export interface Key {
    /**
     * 
     * @type {string}
     * @memberof Key
     */
    'algorithm'?: string;
    /**
     * 
     * @type {string}
     * @memberof Key
     */
    'format'?: string;
    /**
     * 
     * @type {Array<string>}
     * @memberof Key
     */
    'encoded'?: Array<string>;
}
/**
 * 
 * @export
 * @interface Locale
 */
export interface Locale {
    /**
     * 
     * @type {string}
     * @memberof Locale
     */
    'language': string;
    /**
     * 
     * @type {string}
     * @memberof Locale
     */
    'script'?: string;
    /**
     * 
     * @type {string}
     * @memberof Locale
     */
    'country': string;
    /**
     * 
     * @type {string}
     * @memberof Locale
     */
    'variant': string;
    /**
     * 
     * @type {Array<string>}
     * @memberof Locale
     */
    'extensionKeys'?: Array<string>;
    /**
     * 
     * @type {Array<string>}
     * @memberof Locale
     */
    'unicodeLocaleAttributes'?: Array<string>;
    /**
     * 
     * @type {Array<string>}
     * @memberof Locale
     */
    'unicodeLocaleKeys'?: Array<string>;
    /**
     * 
     * @type {string}
     * @memberof Locale
     */
    'ISO3Language'?: string;
    /**
     * 
     * @type {string}
     * @memberof Locale
     */
    'ISO3Country'?: string;
    /**
     * 
     * @type {string}
     * @memberof Locale
     */
    'displayLanguage'?: string;
    /**
     * 
     * @type {string}
     * @memberof Locale
     */
    'displayScript'?: string;
    /**
     * 
     * @type {string}
     * @memberof Locale
     */
    'displayCountry'?: string;
    /**
     * 
     * @type {string}
     * @memberof Locale
     */
    'displayVariant'?: string;
    /**
     * 
     * @type {string}
     * @memberof Locale
     */
    'displayName'?: string;
}
/**
 * 
 * @export
 * @interface MediaType
 */
export interface MediaType {
    /**
     * 
     * @type {string}
     * @memberof MediaType
     */
    'name': string;
    /**
     * 
     * @type {string}
     * @memberof MediaType
     */
    'type'?: string;
    /**
     * 
     * @type {string}
     * @memberof MediaType
     */
    'subtype'?: string;
    /**
     * 
     * @type {string}
     * @memberof MediaType
     */
    'extension'?: string;
    /**
     * 
     * @type {OptionalValuesString}
     * @memberof MediaType
     */
    'parameters'?: OptionalValuesString;
    /**
     * 
     * @type {string}
     * @memberof MediaType
     */
    'quality'?: string;
    /**
     * 
     * @type {number}
     * @memberof MediaType
     */
    'qualityAsNumber'?: number;
    /**
     * 
     * @type {string}
     * @memberof MediaType
     */
    'version'?: string;
    /**
     * 
     * @type {MediaTypeCharset}
     * @memberof MediaType
     */
    'charset'?: MediaTypeCharset | null;
    /**
     * 
     * @type {boolean}
     * @memberof MediaType
     */
    'textBased'?: boolean;
}
/**
 * 
 * @export
 * @interface MediaTypeCharset
 */
export interface MediaTypeCharset {
    /**
     * 
     * @type {boolean}
     * @memberof MediaTypeCharset
     */
    'registered'?: boolean;
}
/**
 * 
 * @export
 * @interface Method
 */
export interface Method {
    /**
     * 
     * @type {boolean}
     * @memberof Method
     * @deprecated
     */
    'accessible'?: boolean;
    /**
     * 
     * @type {Array<any>}
     * @memberof Method
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof Method
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {ClassObject}
     * @memberof Method
     */
    'declaringClass': ClassObject;
    /**
     * 
     * @type {string}
     * @memberof Method
     */
    'name': string;
    /**
     * 
     * @type {number}
     * @memberof Method
     */
    'modifiers': number;
    /**
     * 
     * @type {Array<TypeVariableMethod>}
     * @memberof Method
     */
    'typeParameters'?: Array<TypeVariableMethod>;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof Method
     */
    'parameterTypes': Array<ClassObject>;
    /**
     * 
     * @type {number}
     * @memberof Method
     */
    'parameterCount'?: number;
    /**
     * 
     * @type {Array<Type>}
     * @memberof Method
     */
    'genericParameterTypes'?: Array<Type>;
    /**
     * 
     * @type {Array<Parameter>}
     * @memberof Method
     */
    'parameters'?: Array<Parameter>;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof Method
     */
    'exceptionTypes'?: Array<ClassObject>;
    /**
     * 
     * @type {Array<Type>}
     * @memberof Method
     */
    'genericExceptionTypes'?: Array<Type>;
    /**
     * 
     * @type {boolean}
     * @memberof Method
     */
    'varArgs'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof Method
     */
    'synthetic'?: boolean;
    /**
     * 
     * @type {Array<Array<any>>}
     * @memberof Method
     */
    'parameterAnnotations': Array<Array<any>>;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof Method
     */
    'annotatedReturnType'?: AnnotatedType;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof Method
     */
    'annotatedReceiverType'?: AnnotatedType;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof Method
     */
    'annotatedParameterTypes'?: Array<AnnotatedType>;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof Method
     */
    'annotatedExceptionTypes'?: Array<AnnotatedType>;
    /**
     * 
     * @type {ClassObject}
     * @memberof Method
     */
    'returnType': ClassObject;
    /**
     * 
     * @type {Type}
     * @memberof Method
     */
    'genericReturnType'?: Type;
    /**
     * 
     * @type {boolean}
     * @memberof Method
     */
    'bridge'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof Method
     */
    'default'?: boolean;
    /**
     * 
     * @type {any}
     * @memberof Method
     */
    'defaultValue'?: any;
}
/**
 * 
 * @export
 * @interface MethodAllOf
 */
export interface MethodAllOf {
    /**
     * 
     * @type {boolean}
     * @memberof MethodAllOf
     * @deprecated
     */
    'accessible'?: boolean;
    /**
     * 
     * @type {ClassObject}
     * @memberof MethodAllOf
     */
    'declaringClass': ClassObject;
    /**
     * 
     * @type {string}
     * @memberof MethodAllOf
     */
    'name': string;
    /**
     * 
     * @type {number}
     * @memberof MethodAllOf
     */
    'modifiers': number;
    /**
     * 
     * @type {Array<TypeVariableMethod>}
     * @memberof MethodAllOf
     */
    'typeParameters'?: Array<TypeVariableMethod>;
    /**
     * 
     * @type {ClassObject}
     * @memberof MethodAllOf
     */
    'returnType': ClassObject;
    /**
     * 
     * @type {Type}
     * @memberof MethodAllOf
     */
    'genericReturnType'?: Type;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof MethodAllOf
     */
    'parameterTypes': Array<ClassObject>;
    /**
     * 
     * @type {number}
     * @memberof MethodAllOf
     */
    'parameterCount'?: number;
    /**
     * 
     * @type {Array<Type>}
     * @memberof MethodAllOf
     */
    'genericParameterTypes'?: Array<Type>;
    /**
     * 
     * @type {Array<ClassObject>}
     * @memberof MethodAllOf
     */
    'exceptionTypes'?: Array<ClassObject>;
    /**
     * 
     * @type {Array<Type>}
     * @memberof MethodAllOf
     */
    'genericExceptionTypes'?: Array<Type>;
    /**
     * 
     * @type {boolean}
     * @memberof MethodAllOf
     */
    'bridge'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof MethodAllOf
     */
    'varArgs'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof MethodAllOf
     */
    'synthetic'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof MethodAllOf
     */
    'default'?: boolean;
    /**
     * 
     * @type {any}
     * @memberof MethodAllOf
     */
    'defaultValue'?: any;
    /**
     * 
     * @type {Array<any>}
     * @memberof MethodAllOf
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {Array<Array<any>>}
     * @memberof MethodAllOf
     */
    'parameterAnnotations': Array<Array<any>>;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof MethodAllOf
     */
    'annotatedReturnType'?: AnnotatedType;
}
/**
 * 
 * @export
 * @interface Module
 */
export interface Module {
    /**
     * 
     * @type {boolean}
     * @memberof Module
     */
    'named'?: boolean;
    /**
     * 
     * @type {string}
     * @memberof Module
     */
    'name'?: string;
    /**
     * 
     * @type {ClassLoader}
     * @memberof Module
     */
    'classLoader'?: ClassLoader;
    /**
     * 
     * @type {ModuleDescriptor}
     * @memberof Module
     */
    'descriptor'?: ModuleDescriptor;
    /**
     * 
     * @type {any}
     * @memberof Module
     */
    'layer'?: any;
    /**
     * 
     * @type {Array<string>}
     * @memberof Module
     */
    'packages'?: Array<string>;
    /**
     * 
     * @type {Array<any>}
     * @memberof Module
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof Module
     */
    'declaredAnnotations'?: Array<any>;
}
/**
 * 
 * @export
 * @interface ModuleDescriptor
 */
export interface ModuleDescriptor {
    /**
     * 
     * @type {boolean}
     * @memberof ModuleDescriptor
     */
    'open'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof ModuleDescriptor
     */
    'automatic'?: boolean;
}
/**
 * 
 * @export
 * @interface MutableAttributeHolder
 */
export interface MutableAttributeHolder {
    /**
     * 
     * @type {ConvertibleValuesObject}
     * @memberof MutableAttributeHolder
     */
    'attributes': ConvertibleValuesObject;
}
/**
 * 
 * @export
 * @interface MutableAttributeHolderAllOf
 */
export interface MutableAttributeHolderAllOf {
    /**
     * 
     * @type {ConvertibleValuesObject}
     * @memberof MutableAttributeHolderAllOf
     */
    'attributes': ConvertibleValuesObject;
}
/**
 * 
 * @export
 * @interface OptionalValuesString
 */
export interface OptionalValuesString {
    /**
     * 
     * @type {boolean}
     * @memberof OptionalValuesString
     */
    'empty'?: boolean;
}
/**
 * 
 * @export
 * @interface Package
 */
export interface Package {
    /**
     * 
     * @type {string}
     * @memberof Package
     */
    'name'?: string;
    /**
     * 
     * @type {string}
     * @memberof Package
     */
    'specificationTitle'?: string;
    /**
     * 
     * @type {string}
     * @memberof Package
     */
    'specificationVersion'?: string;
    /**
     * 
     * @type {string}
     * @memberof Package
     */
    'specificationVendor'?: string;
    /**
     * 
     * @type {string}
     * @memberof Package
     */
    'implementationTitle'?: string;
    /**
     * 
     * @type {string}
     * @memberof Package
     */
    'implementationVersion'?: string;
    /**
     * 
     * @type {string}
     * @memberof Package
     */
    'implementationVendor'?: string;
    /**
     * 
     * @type {boolean}
     * @memberof Package
     */
    'sealed'?: boolean;
    /**
     * 
     * @type {Array<any>}
     * @memberof Package
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof Package
     */
    'declaredAnnotations'?: Array<any>;
}
/**
 * 
 * @export
 * @interface PackageAllOf
 */
export interface PackageAllOf {
    /**
     * 
     * @type {string}
     * @memberof PackageAllOf
     */
    'name'?: string;
    /**
     * 
     * @type {string}
     * @memberof PackageAllOf
     */
    'specificationTitle'?: string;
    /**
     * 
     * @type {string}
     * @memberof PackageAllOf
     */
    'specificationVersion'?: string;
    /**
     * 
     * @type {string}
     * @memberof PackageAllOf
     */
    'specificationVendor'?: string;
    /**
     * 
     * @type {string}
     * @memberof PackageAllOf
     */
    'implementationTitle'?: string;
    /**
     * 
     * @type {string}
     * @memberof PackageAllOf
     */
    'implementationVersion'?: string;
    /**
     * 
     * @type {string}
     * @memberof PackageAllOf
     */
    'implementationVendor'?: string;
    /**
     * 
     * @type {boolean}
     * @memberof PackageAllOf
     */
    'sealed'?: boolean;
    /**
     * 
     * @type {Array<any>}
     * @memberof PackageAllOf
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof PackageAllOf
     */
    'declaredAnnotations'?: Array<any>;
}
/**
 * 
 * @export
 * @interface Parameter
 */
export interface Parameter {
    /**
     * 
     * @type {boolean}
     * @memberof Parameter
     */
    'namePresent'?: boolean;
    /**
     * 
     * @type {Executable}
     * @memberof Parameter
     */
    'declaringExecutable'?: Executable;
    /**
     * 
     * @type {number}
     * @memberof Parameter
     */
    'modifiers': number;
    /**
     * 
     * @type {string}
     * @memberof Parameter
     */
    'name': string;
    /**
     * 
     * @type {Type}
     * @memberof Parameter
     */
    'parameterizedType'?: Type;
    /**
     * 
     * @type {ClassObject}
     * @memberof Parameter
     */
    'type'?: ClassObject;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof Parameter
     */
    'annotatedType'?: AnnotatedType;
    /**
     * 
     * @type {boolean}
     * @memberof Parameter
     */
    'implicit'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof Parameter
     */
    'synthetic'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof Parameter
     */
    'varArgs'?: boolean;
    /**
     * 
     * @type {Array<any>}
     * @memberof Parameter
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof Parameter
     */
    'annotations'?: Array<any>;
}
/**
 * 
 * @export
 * @interface PermissionCollection
 */
export interface PermissionCollection {
    /**
     * 
     * @type {boolean}
     * @memberof PermissionCollection
     */
    'readOnly'?: boolean;
}
/**
 * Бин ответа с подписанным URL\'ом.
 * @export
 * @interface PresignedUrlResponse
 */
export interface PresignedUrlResponse {
    /**
     * 
     * @type {string}
     * @memberof PresignedUrlResponse
     */
    's3Url'?: string;
    /**
     * 
     * @type {string}
     * @memberof PresignedUrlResponse
     */
    'presignedUrl'?: string;
    /**
     * 
     * @type {number}
     * @memberof PresignedUrlResponse
     */
    'expires_in'?: number;
    /**
     * 
     * @type {string}
     * @memberof PresignedUrlResponse
     */
    'error'?: string;
}
/**
 * 
 * @export
 * @interface Principal
 */
export interface Principal {
    /**
     * 
     * @type {string}
     * @memberof Principal
     */
    'name'?: string;
}
/**
 * 
 * @export
 * @interface ProtectionDomain
 */
export interface ProtectionDomain {
    /**
     * 
     * @type {CodeSource}
     * @memberof ProtectionDomain
     */
    'codeSource'?: CodeSource;
    /**
     * 
     * @type {ClassLoader}
     * @memberof ProtectionDomain
     */
    'classLoader'?: ClassLoader;
    /**
     * 
     * @type {Array<Principal>}
     * @memberof ProtectionDomain
     */
    'principals'?: Array<Principal>;
    /**
     * 
     * @type {PermissionCollection}
     * @memberof ProtectionDomain
     */
    'permissions': PermissionCollection;
}
/**
 * 
 * @export
 * @interface PublicKey
 */
export interface PublicKey {
    /**
     * 
     * @type {string}
     * @memberof PublicKey
     */
    'algorithm'?: string;
    /**
     * 
     * @type {string}
     * @memberof PublicKey
     */
    'format'?: string;
    /**
     * 
     * @type {Array<string>}
     * @memberof PublicKey
     */
    'encoded'?: Array<string>;
}
/**
 * 
 * @export
 * @interface RecordComponent
 */
export interface RecordComponent {
    /**
     * 
     * @type {string}
     * @memberof RecordComponent
     */
    'name'?: string;
    /**
     * 
     * @type {ClassObject}
     * @memberof RecordComponent
     */
    'type'?: ClassObject;
    /**
     * 
     * @type {string}
     * @memberof RecordComponent
     */
    'genericSignature'?: string;
    /**
     * 
     * @type {Type}
     * @memberof RecordComponent
     */
    'genericType'?: Type;
    /**
     * 
     * @type {AnnotatedType}
     * @memberof RecordComponent
     */
    'annotatedType'?: AnnotatedType;
    /**
     * 
     * @type {Method}
     * @memberof RecordComponent
     */
    'accessor'?: Method;
    /**
     * 
     * @type {Array<any>}
     * @memberof RecordComponent
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof RecordComponent
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {ClassObject}
     * @memberof RecordComponent
     */
    'declaringRecord'?: ClassObject;
}
/**
 * 
 * @export
 * @enum {string}
 */

export const SameSite = {
    Lax: 'Lax',
    Strict: 'Strict',
    None: 'None'
} as const;

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


/**
 * 
 * @export
 * @interface Timestamp
 */
export interface Timestamp {
    /**
     * 
     * @type {string}
     * @memberof Timestamp
     */
    'timestamp': string;
    /**
     * 
     * @type {CertPath}
     * @memberof Timestamp
     */
    'signerCertPath': CertPath;
}
/**
 * 
 * @export
 * @interface Type
 */
export interface Type {
    /**
     * 
     * @type {string}
     * @memberof Type
     */
    'typeName'?: string;
}
/**
 * 
 * @export
 * @interface TypeVariableClassCookie
 */
export interface TypeVariableClassCookie {
    /**
     * 
     * @type {string}
     * @memberof TypeVariableClassCookie
     */
    'typeName'?: string;
    /**
     * 
     * @type {Array<any>}
     * @memberof TypeVariableClassCookie
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof TypeVariableClassCookie
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {Array<Type>}
     * @memberof TypeVariableClassCookie
     */
    'bounds'?: Array<Type>;
    /**
     * 
     * @type {ClassCookie}
     * @memberof TypeVariableClassCookie
     */
    'genericDeclaration'?: ClassCookie;
    /**
     * 
     * @type {string}
     * @memberof TypeVariableClassCookie
     */
    'name'?: string;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof TypeVariableClassCookie
     */
    'annotatedBounds'?: Array<AnnotatedType>;
}
/**
 * 
 * @export
 * @interface TypeVariableClassCookieAllOf
 */
export interface TypeVariableClassCookieAllOf {
    /**
     * 
     * @type {Array<Type>}
     * @memberof TypeVariableClassCookieAllOf
     */
    'bounds'?: Array<Type>;
    /**
     * 
     * @type {ClassCookie}
     * @memberof TypeVariableClassCookieAllOf
     */
    'genericDeclaration'?: ClassCookie;
    /**
     * 
     * @type {string}
     * @memberof TypeVariableClassCookieAllOf
     */
    'name'?: string;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof TypeVariableClassCookieAllOf
     */
    'annotatedBounds'?: Array<AnnotatedType>;
}
/**
 * 
 * @export
 * @interface TypeVariableClassListString
 */
export interface TypeVariableClassListString {
    /**
     * 
     * @type {string}
     * @memberof TypeVariableClassListString
     */
    'typeName'?: string;
    /**
     * 
     * @type {Array<any>}
     * @memberof TypeVariableClassListString
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof TypeVariableClassListString
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {Array<Type>}
     * @memberof TypeVariableClassListString
     */
    'bounds'?: Array<Type>;
    /**
     * 
     * @type {ClassListString}
     * @memberof TypeVariableClassListString
     */
    'genericDeclaration'?: ClassListString;
    /**
     * 
     * @type {string}
     * @memberof TypeVariableClassListString
     */
    'name'?: string;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof TypeVariableClassListString
     */
    'annotatedBounds'?: Array<AnnotatedType>;
}
/**
 * 
 * @export
 * @interface TypeVariableClassListStringAllOf
 */
export interface TypeVariableClassListStringAllOf {
    /**
     * 
     * @type {Array<Type>}
     * @memberof TypeVariableClassListStringAllOf
     */
    'bounds'?: Array<Type>;
    /**
     * 
     * @type {ClassListString}
     * @memberof TypeVariableClassListStringAllOf
     */
    'genericDeclaration'?: ClassListString;
    /**
     * 
     * @type {string}
     * @memberof TypeVariableClassListStringAllOf
     */
    'name'?: string;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof TypeVariableClassListStringAllOf
     */
    'annotatedBounds'?: Array<AnnotatedType>;
}
/**
 * 
 * @export
 * @interface TypeVariableClassObject
 */
export interface TypeVariableClassObject {
    /**
     * 
     * @type {string}
     * @memberof TypeVariableClassObject
     */
    'typeName'?: string;
    /**
     * 
     * @type {Array<any>}
     * @memberof TypeVariableClassObject
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof TypeVariableClassObject
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {Array<Type>}
     * @memberof TypeVariableClassObject
     */
    'bounds'?: Array<Type>;
    /**
     * 
     * @type {ClassObject}
     * @memberof TypeVariableClassObject
     */
    'genericDeclaration'?: ClassObject;
    /**
     * 
     * @type {string}
     * @memberof TypeVariableClassObject
     */
    'name'?: string;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof TypeVariableClassObject
     */
    'annotatedBounds'?: Array<AnnotatedType>;
}
/**
 * 
 * @export
 * @interface TypeVariableClassObjectAllOf
 */
export interface TypeVariableClassObjectAllOf {
    /**
     * 
     * @type {Array<Type>}
     * @memberof TypeVariableClassObjectAllOf
     */
    'bounds'?: Array<Type>;
    /**
     * 
     * @type {ClassObject}
     * @memberof TypeVariableClassObjectAllOf
     */
    'genericDeclaration'?: ClassObject;
    /**
     * 
     * @type {string}
     * @memberof TypeVariableClassObjectAllOf
     */
    'name'?: string;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof TypeVariableClassObjectAllOf
     */
    'annotatedBounds'?: Array<AnnotatedType>;
}
/**
 * 
 * @export
 * @interface TypeVariableConstructorObject
 */
export interface TypeVariableConstructorObject {
    /**
     * 
     * @type {string}
     * @memberof TypeVariableConstructorObject
     */
    'typeName'?: string;
    /**
     * 
     * @type {Array<any>}
     * @memberof TypeVariableConstructorObject
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof TypeVariableConstructorObject
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {Array<Type>}
     * @memberof TypeVariableConstructorObject
     */
    'bounds'?: Array<Type>;
    /**
     * 
     * @type {ConstructorObject}
     * @memberof TypeVariableConstructorObject
     */
    'genericDeclaration'?: ConstructorObject;
    /**
     * 
     * @type {string}
     * @memberof TypeVariableConstructorObject
     */
    'name'?: string;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof TypeVariableConstructorObject
     */
    'annotatedBounds'?: Array<AnnotatedType>;
}
/**
 * 
 * @export
 * @interface TypeVariableConstructorObjectAllOf
 */
export interface TypeVariableConstructorObjectAllOf {
    /**
     * 
     * @type {Array<Type>}
     * @memberof TypeVariableConstructorObjectAllOf
     */
    'bounds'?: Array<Type>;
    /**
     * 
     * @type {ConstructorObject}
     * @memberof TypeVariableConstructorObjectAllOf
     */
    'genericDeclaration'?: ConstructorObject;
    /**
     * 
     * @type {string}
     * @memberof TypeVariableConstructorObjectAllOf
     */
    'name'?: string;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof TypeVariableConstructorObjectAllOf
     */
    'annotatedBounds'?: Array<AnnotatedType>;
}
/**
 * 
 * @export
 * @interface TypeVariableGenericDeclaration
 */
export interface TypeVariableGenericDeclaration {
    /**
     * 
     * @type {string}
     * @memberof TypeVariableGenericDeclaration
     */
    'typeName'?: string;
    /**
     * 
     * @type {Array<any>}
     * @memberof TypeVariableGenericDeclaration
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof TypeVariableGenericDeclaration
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {Array<Type>}
     * @memberof TypeVariableGenericDeclaration
     */
    'bounds'?: Array<Type>;
    /**
     * 
     * @type {GenericDeclaration}
     * @memberof TypeVariableGenericDeclaration
     */
    'genericDeclaration'?: GenericDeclaration;
    /**
     * 
     * @type {string}
     * @memberof TypeVariableGenericDeclaration
     */
    'name'?: string;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof TypeVariableGenericDeclaration
     */
    'annotatedBounds'?: Array<AnnotatedType>;
}
/**
 * 
 * @export
 * @interface TypeVariableGenericDeclarationAllOf
 */
export interface TypeVariableGenericDeclarationAllOf {
    /**
     * 
     * @type {Array<Type>}
     * @memberof TypeVariableGenericDeclarationAllOf
     */
    'bounds'?: Array<Type>;
    /**
     * 
     * @type {GenericDeclaration}
     * @memberof TypeVariableGenericDeclarationAllOf
     */
    'genericDeclaration'?: GenericDeclaration;
    /**
     * 
     * @type {string}
     * @memberof TypeVariableGenericDeclarationAllOf
     */
    'name'?: string;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof TypeVariableGenericDeclarationAllOf
     */
    'annotatedBounds'?: Array<AnnotatedType>;
}
/**
 * 
 * @export
 * @interface TypeVariableMethod
 */
export interface TypeVariableMethod {
    /**
     * 
     * @type {string}
     * @memberof TypeVariableMethod
     */
    'typeName'?: string;
    /**
     * 
     * @type {Array<any>}
     * @memberof TypeVariableMethod
     */
    'annotations'?: Array<any>;
    /**
     * 
     * @type {Array<any>}
     * @memberof TypeVariableMethod
     */
    'declaredAnnotations'?: Array<any>;
    /**
     * 
     * @type {Array<Type>}
     * @memberof TypeVariableMethod
     */
    'bounds'?: Array<Type>;
    /**
     * 
     * @type {Method}
     * @memberof TypeVariableMethod
     */
    'genericDeclaration'?: Method;
    /**
     * 
     * @type {string}
     * @memberof TypeVariableMethod
     */
    'name'?: string;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof TypeVariableMethod
     */
    'annotatedBounds'?: Array<AnnotatedType>;
}
/**
 * 
 * @export
 * @interface TypeVariableMethodAllOf
 */
export interface TypeVariableMethodAllOf {
    /**
     * 
     * @type {Array<Type>}
     * @memberof TypeVariableMethodAllOf
     */
    'bounds'?: Array<Type>;
    /**
     * 
     * @type {Method}
     * @memberof TypeVariableMethodAllOf
     */
    'genericDeclaration'?: Method;
    /**
     * 
     * @type {string}
     * @memberof TypeVariableMethodAllOf
     */
    'name'?: string;
    /**
     * 
     * @type {Array<AnnotatedType>}
     * @memberof TypeVariableMethodAllOf
     */
    'annotatedBounds'?: Array<AnnotatedType>;
}

/**
 * DefaultApi - axios parameter creator
 * @export
 */
export const DefaultApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Создает zip-архив из объектов с указанными URL и помещает его в корзину организации по указанному objectKey
         * @param {ArchiveRequest} archiveRequest 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        archiveAsync: async (archiveRequest: ArchiveRequest, region?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'archiveRequest' is not null or undefined
            assertParamExists('archiveAsync', 'archiveRequest', archiveRequest)
            const localVarPath = `/archive-async`;
            // use dummy base URL string because the 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 s3-signer-auth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "s3-signer-auth", ["put"], configuration)

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


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает подписанную ссылку на удаление файла из хранилища S3
         * @param {string} s3fileUrl 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSignedDELETE: async (s3fileUrl: string, region?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 's3fileUrl' is not null or undefined
            assertParamExists('getSignedDELETE', 's3fileUrl', s3fileUrl)
            const localVarPath = `/signed-delete`;
            // use dummy base URL string because the 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 s3-signer-auth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "s3-signer-auth", ["delete"], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает подписанную ссылку на скачивание файла из хранилища S3
         * @param {string} s3fileUrl 
         * @param {string} [fileName] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSignedGET: async (s3fileUrl: string, fileName?: string, region?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 's3fileUrl' is not null or undefined
            assertParamExists('getSignedGET', 's3fileUrl', s3fileUrl)
            const localVarPath = `/signed-get`;
            // use dummy base URL string because the 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 s3-signer-auth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "s3-signer-auth", ["get"], configuration)

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Устаревшая версия эндпойнта \'/signed-put\', в дальнейшем появится параметр \'bucket\'
         * @summary Возвращает подписанную ссылку на сохранение файла в хранилище S3
         * @param {string} objectKey 
         * @param {string} [orgId] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @deprecated
         * @throws {RequiredError}
         */
        getSignedPUT: async (objectKey: string, orgId?: string, region?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'objectKey' is not null or undefined
            assertParamExists('getSignedPUT', 'objectKey', objectKey)
            const localVarPath = `/signed-put/{objectKey}`
                .replace(`{${"objectKey"}}`, encodeURIComponent(String(objectKey)));
            // use dummy base URL string because the 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 s3-signer-auth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "s3-signer-auth", ["put"], configuration)

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Временная версия эндпойнта \'/signed-put\' с параметром \'bucket\'
         * @summary Возвращает подписанную ссылку на сохранение файла в хранилище S3
         * @param {string} objectKey 
         * @param {string} [bucket] 
         * @param {string} [orgId] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @deprecated
         * @throws {RequiredError}
         */
        getSignedPUTv2: async (objectKey: string, bucket?: string, orgId?: string, region?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'objectKey' is not null or undefined
            assertParamExists('getSignedPUTv2', 'objectKey', objectKey)
            const localVarPath = `/signed-put-v2/{objectKey}`
                .replace(`{${"objectKey"}}`, encodeURIComponent(String(objectKey)));
            // use dummy base URL string because the 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 s3-signer-auth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "s3-signer-auth", ["put"], configuration)

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * Версия эндпойнта \'/signed-put\' с параметром objectKey переведенным в query
         * @summary Возвращает подписанную ссылку на сохранение файла в хранилище S3
         * @param {string} objectKey 
         * @param {string} [bucket] 
         * @param {string} [orgId] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSignedPUTv3: async (objectKey: string, bucket?: string, orgId?: string, region?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'objectKey' is not null or undefined
            assertParamExists('getSignedPUTv3', 'objectKey', objectKey)
            const localVarPath = `/v3/signed-put`;
            // use dummy base URL string because the 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 s3-signer-auth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "s3-signer-auth", ["put"], configuration)

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

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Возвращает файл из хранилища S3
         * @param {string} s3fileUrl 
         * @param {string} [fileName] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getStreamedFile: async (s3fileUrl: string, fileName?: string, region?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 's3fileUrl' is not null or undefined
            assertParamExists('getStreamedFile', 's3fileUrl', s3fileUrl)
            const localVarPath = `/get-object`;
            // use dummy base URL string because the 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 s3-signer-auth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "s3-signer-auth", ["get"], configuration)

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

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

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Перемещает объект с указанным URL в корзину организации по указанному objectKey
         * @param {string} fromUrl 
         * @param {string} toObjectKey 
         * @param {string} [toBucket] 
         * @param {string} [orgId] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        moveS3Object: async (fromUrl: string, toObjectKey: string, toBucket?: string, orgId?: string, region?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'fromUrl' is not null or undefined
            assertParamExists('moveS3Object', 'fromUrl', fromUrl)
            // verify required parameter 'toObjectKey' is not null or undefined
            assertParamExists('moveS3Object', 'toObjectKey', toObjectKey)
            const localVarPath = `/move-object`;
            // use dummy base URL string because the 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 s3-signer-auth required
            // oauth required
            await setOAuthToObject(localVarHeaderParameter, "s3-signer-auth", ["s3moveObject"], configuration)

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

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

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

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

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


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

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

/**
 * DefaultApi - functional programming interface
 * @export
 */
export const DefaultApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = DefaultApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Создает zip-архив из объектов с указанными URL и помещает его в корзину организации по указанному objectKey
         * @param {ArchiveRequest} archiveRequest 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async archiveAsync(archiveRequest: ArchiveRequest, region?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<HttpResponseObject>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.archiveAsync(archiveRequest, region, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает подписанную ссылку на удаление файла из хранилища S3
         * @param {string} s3fileUrl 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getSignedDELETE(s3fileUrl: string, region?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PresignedUrlResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getSignedDELETE(s3fileUrl, region, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает подписанную ссылку на скачивание файла из хранилища S3
         * @param {string} s3fileUrl 
         * @param {string} [fileName] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getSignedGET(s3fileUrl: string, fileName?: string, region?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PresignedUrlResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getSignedGET(s3fileUrl, fileName, region, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Устаревшая версия эндпойнта \'/signed-put\', в дальнейшем появится параметр \'bucket\'
         * @summary Возвращает подписанную ссылку на сохранение файла в хранилище S3
         * @param {string} objectKey 
         * @param {string} [orgId] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @deprecated
         * @throws {RequiredError}
         */
        async getSignedPUT(objectKey: string, orgId?: string, region?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PresignedUrlResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getSignedPUT(objectKey, orgId, region, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Временная версия эндпойнта \'/signed-put\' с параметром \'bucket\'
         * @summary Возвращает подписанную ссылку на сохранение файла в хранилище S3
         * @param {string} objectKey 
         * @param {string} [bucket] 
         * @param {string} [orgId] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @deprecated
         * @throws {RequiredError}
         */
        async getSignedPUTv2(objectKey: string, bucket?: string, orgId?: string, region?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PresignedUrlResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getSignedPUTv2(objectKey, bucket, orgId, region, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * Версия эндпойнта \'/signed-put\' с параметром objectKey переведенным в query
         * @summary Возвращает подписанную ссылку на сохранение файла в хранилище S3
         * @param {string} objectKey 
         * @param {string} [bucket] 
         * @param {string} [orgId] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getSignedPUTv3(objectKey: string, bucket?: string, orgId?: string, region?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PresignedUrlResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getSignedPUTv3(objectKey, bucket, orgId, region, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Возвращает файл из хранилища S3
         * @param {string} s3fileUrl 
         * @param {string} [fileName] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getStreamedFile(s3fileUrl: string, fileName?: string, region?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getStreamedFile(s3fileUrl, fileName, region, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Перемещает объект с указанным URL в корзину организации по указанному objectKey
         * @param {string} fromUrl 
         * @param {string} toObjectKey 
         * @param {string} [toBucket] 
         * @param {string} [orgId] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async moveS3Object(fromUrl: string, toObjectKey: string, toBucket?: string, orgId?: string, region?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PresignedUrlResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.moveS3Object(fromUrl, toObjectKey, toBucket, orgId, region, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * DefaultApi - factory interface
 * @export
 */
export const DefaultApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = DefaultApiFp(configuration)
    return {
        /**
         * 
         * @summary Создает zip-архив из объектов с указанными URL и помещает его в корзину организации по указанному objectKey
         * @param {ArchiveRequest} archiveRequest 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        archiveAsync(archiveRequest: ArchiveRequest, region?: string, options?: any): AxiosPromise<HttpResponseObject> {
            return localVarFp.archiveAsync(archiveRequest, region, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает подписанную ссылку на удаление файла из хранилища S3
         * @param {string} s3fileUrl 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSignedDELETE(s3fileUrl: string, region?: string, options?: any): AxiosPromise<PresignedUrlResponse> {
            return localVarFp.getSignedDELETE(s3fileUrl, region, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает подписанную ссылку на скачивание файла из хранилища S3
         * @param {string} s3fileUrl 
         * @param {string} [fileName] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSignedGET(s3fileUrl: string, fileName?: string, region?: string, options?: any): AxiosPromise<PresignedUrlResponse> {
            return localVarFp.getSignedGET(s3fileUrl, fileName, region, options).then((request) => request(axios, basePath));
        },
        /**
         * Устаревшая версия эндпойнта \'/signed-put\', в дальнейшем появится параметр \'bucket\'
         * @summary Возвращает подписанную ссылку на сохранение файла в хранилище S3
         * @param {string} objectKey 
         * @param {string} [orgId] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @deprecated
         * @throws {RequiredError}
         */
        getSignedPUT(objectKey: string, orgId?: string, region?: string, options?: any): AxiosPromise<PresignedUrlResponse> {
            return localVarFp.getSignedPUT(objectKey, orgId, region, options).then((request) => request(axios, basePath));
        },
        /**
         * Временная версия эндпойнта \'/signed-put\' с параметром \'bucket\'
         * @summary Возвращает подписанную ссылку на сохранение файла в хранилище S3
         * @param {string} objectKey 
         * @param {string} [bucket] 
         * @param {string} [orgId] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @deprecated
         * @throws {RequiredError}
         */
        getSignedPUTv2(objectKey: string, bucket?: string, orgId?: string, region?: string, options?: any): AxiosPromise<PresignedUrlResponse> {
            return localVarFp.getSignedPUTv2(objectKey, bucket, orgId, region, options).then((request) => request(axios, basePath));
        },
        /**
         * Версия эндпойнта \'/signed-put\' с параметром objectKey переведенным в query
         * @summary Возвращает подписанную ссылку на сохранение файла в хранилище S3
         * @param {string} objectKey 
         * @param {string} [bucket] 
         * @param {string} [orgId] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSignedPUTv3(objectKey: string, bucket?: string, orgId?: string, region?: string, options?: any): AxiosPromise<PresignedUrlResponse> {
            return localVarFp.getSignedPUTv3(objectKey, bucket, orgId, region, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Возвращает файл из хранилища S3
         * @param {string} s3fileUrl 
         * @param {string} [fileName] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getStreamedFile(s3fileUrl: string, fileName?: string, region?: string, options?: any): AxiosPromise<any> {
            return localVarFp.getStreamedFile(s3fileUrl, fileName, region, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Перемещает объект с указанным URL в корзину организации по указанному objectKey
         * @param {string} fromUrl 
         * @param {string} toObjectKey 
         * @param {string} [toBucket] 
         * @param {string} [orgId] 
         * @param {string} [region] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        moveS3Object(fromUrl: string, toObjectKey: string, toBucket?: string, orgId?: string, region?: string, options?: any): AxiosPromise<PresignedUrlResponse> {
            return localVarFp.moveS3Object(fromUrl, toObjectKey, toBucket, orgId, region, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * DefaultApi - object-oriented interface
 * @export
 * @class DefaultApi
 * @extends {BaseAPI}
 */
export class DefaultApi extends BaseAPI {
    /**
     * 
     * @summary Создает zip-архив из объектов с указанными URL и помещает его в корзину организации по указанному objectKey
     * @param {ArchiveRequest} archiveRequest 
     * @param {string} [region] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public archiveAsync(archiveRequest: ArchiveRequest, region?: string, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).archiveAsync(archiveRequest, region, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает подписанную ссылку на удаление файла из хранилища S3
     * @param {string} s3fileUrl 
     * @param {string} [region] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public getSignedDELETE(s3fileUrl: string, region?: string, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).getSignedDELETE(s3fileUrl, region, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает подписанную ссылку на скачивание файла из хранилища S3
     * @param {string} s3fileUrl 
     * @param {string} [fileName] 
     * @param {string} [region] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public getSignedGET(s3fileUrl: string, fileName?: string, region?: string, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).getSignedGET(s3fileUrl, fileName, region, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Устаревшая версия эндпойнта \'/signed-put\', в дальнейшем появится параметр \'bucket\'
     * @summary Возвращает подписанную ссылку на сохранение файла в хранилище S3
     * @param {string} objectKey 
     * @param {string} [orgId] 
     * @param {string} [region] 
     * @param {*} [options] Override http request option.
     * @deprecated
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public getSignedPUT(objectKey: string, orgId?: string, region?: string, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).getSignedPUT(objectKey, orgId, region, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Временная версия эндпойнта \'/signed-put\' с параметром \'bucket\'
     * @summary Возвращает подписанную ссылку на сохранение файла в хранилище S3
     * @param {string} objectKey 
     * @param {string} [bucket] 
     * @param {string} [orgId] 
     * @param {string} [region] 
     * @param {*} [options] Override http request option.
     * @deprecated
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public getSignedPUTv2(objectKey: string, bucket?: string, orgId?: string, region?: string, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).getSignedPUTv2(objectKey, bucket, orgId, region, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * Версия эндпойнта \'/signed-put\' с параметром objectKey переведенным в query
     * @summary Возвращает подписанную ссылку на сохранение файла в хранилище S3
     * @param {string} objectKey 
     * @param {string} [bucket] 
     * @param {string} [orgId] 
     * @param {string} [region] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public getSignedPUTv3(objectKey: string, bucket?: string, orgId?: string, region?: string, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).getSignedPUTv3(objectKey, bucket, orgId, region, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Возвращает файл из хранилища S3
     * @param {string} s3fileUrl 
     * @param {string} [fileName] 
     * @param {string} [region] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public getStreamedFile(s3fileUrl: string, fileName?: string, region?: string, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).getStreamedFile(s3fileUrl, fileName, region, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Перемещает объект с указанным URL в корзину организации по указанному objectKey
     * @param {string} fromUrl 
     * @param {string} toObjectKey 
     * @param {string} [toBucket] 
     * @param {string} [orgId] 
     * @param {string} [region] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public moveS3Object(fromUrl: string, toObjectKey: string, toBucket?: string, orgId?: string, region?: string, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).moveS3Object(fromUrl, toObjectKey, toBucket, orgId, region, options).then((request) => request(this.axios, this.basePath));
    }
}


