/* tslint:disable */
/* eslint-disable */
/**
 * FastAPI
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 0.1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


import globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';
import { Configuration } from '../configuration';
// 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';
// @ts-ignore
import { AddEmbedding } from '../models';
// @ts-ignore
import { CreateCollection } from '../models';
// @ts-ignore
import { DeleteEmbedding } from '../models';
// @ts-ignore
import { GetEmbedding } from '../models';
// @ts-ignore
import { HTTPValidationError } from '../models';
// @ts-ignore
import { QueryEmbedding } from '../models';
// @ts-ignore
import { RawSql } from '../models';
// @ts-ignore
import { UpdateCollection } from '../models';
// @ts-ignore
import { UpdateEmbedding } from '../models';
/**
 * DefaultApi - axios parameter creator
 * @export
 */
export const DefaultApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Delete
         * @param {string} collectionName 
         * @param {DeleteEmbedding} deleteEmbedding 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        _delete: async (collectionName: string, deleteEmbedding: DeleteEmbedding, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'collectionName' is not null or undefined
            assertParamExists('_delete', 'collectionName', collectionName)
            // verify required parameter 'deleteEmbedding' is not null or undefined
            assertParamExists('_delete', 'deleteEmbedding', deleteEmbedding)
            const localVarPath = `/api/v1/collections/{collection_name}/delete`
                .replace(`{${"collection_name"}}`, encodeURIComponent(String(collectionName)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Add
         * @param {string} collectionName 
         * @param {AddEmbedding} addEmbedding 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        add: async (collectionName: string, addEmbedding: AddEmbedding, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'collectionName' is not null or undefined
            assertParamExists('add', 'collectionName', collectionName)
            // verify required parameter 'addEmbedding' is not null or undefined
            assertParamExists('add', 'addEmbedding', addEmbedding)
            const localVarPath = `/api/v1/collections/{collection_name}/add`
                .replace(`{${"collection_name"}}`, encodeURIComponent(String(collectionName)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Count
         * @param {string} collectionName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        count: async (collectionName: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'collectionName' is not null or undefined
            assertParamExists('count', 'collectionName', collectionName)
            const localVarPath = `/api/v1/collections/{collection_name}/count`
                .replace(`{${"collection_name"}}`, encodeURIComponent(String(collectionName)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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


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

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

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


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Create Index
         * @param {string} collectionName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createIndex: async (collectionName: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'collectionName' is not null or undefined
            assertParamExists('createIndex', 'collectionName', collectionName)
            const localVarPath = `/api/v1/collections/{collection_name}/create_index`
                .replace(`{${"collection_name"}}`, encodeURIComponent(String(collectionName)));
            // use dummy base URL string because the 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;


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Delete Collection
         * @param {string} collectionName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteCollection: async (collectionName: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'collectionName' is not null or undefined
            assertParamExists('deleteCollection', 'collectionName', collectionName)
            const localVarPath = `/api/v1/collections/{collection_name}`
                .replace(`{${"collection_name"}}`, encodeURIComponent(String(collectionName)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Get
         * @param {any} collectionName 
         * @param {GetEmbedding} getEmbedding 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        get: async (collectionName: any, getEmbedding: GetEmbedding, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'collectionName' is not null or undefined
            assertParamExists('get', 'collectionName', collectionName)
            // verify required parameter 'getEmbedding' is not null or undefined
            assertParamExists('get', 'getEmbedding', getEmbedding)
            const localVarPath = `/api/v1/collections/{collection_name}/get`
                .replace(`{${"collection_name"}}`, encodeURIComponent(String(collectionName)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Get Collection
         * @param {string} collectionName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getCollection: async (collectionName: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'collectionName' is not null or undefined
            assertParamExists('getCollection', 'collectionName', collectionName)
            const localVarPath = `/api/v1/collections/{collection_name}`
                .replace(`{${"collection_name"}}`, encodeURIComponent(String(collectionName)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Get Nearest Neighbors
         * @param {any} collectionName 
         * @param {QueryEmbedding} queryEmbedding 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getNearestNeighbors: async (collectionName: any, queryEmbedding: QueryEmbedding, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'collectionName' is not null or undefined
            assertParamExists('getNearestNeighbors', 'collectionName', collectionName)
            // verify required parameter 'queryEmbedding' is not null or undefined
            assertParamExists('getNearestNeighbors', 'queryEmbedding', queryEmbedding)
            const localVarPath = `/api/v1/collections/{collection_name}/query`
                .replace(`{${"collection_name"}}`, encodeURIComponent(String(collectionName)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary List Collections
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        listCollections: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/api/v1/collections`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Persist
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        persist: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/api/v1/persist`;
            // use dummy base URL string because the 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;


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

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

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


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Reset
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        reset: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/api/v1/reset`;
            // use dummy base URL string because the 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;


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Root
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        root: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/api/v1`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Update
         * @param {string} collectionName 
         * @param {UpdateEmbedding} updateEmbedding 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        update: async (collectionName: string, updateEmbedding: UpdateEmbedding, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'collectionName' is not null or undefined
            assertParamExists('update', 'collectionName', collectionName)
            // verify required parameter 'updateEmbedding' is not null or undefined
            assertParamExists('update', 'updateEmbedding', updateEmbedding)
            const localVarPath = `/api/v1/collections/{collection_name}/update`
                .replace(`{${"collection_name"}}`, encodeURIComponent(String(collectionName)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Update Collection
         * @param {any} collectionName 
         * @param {UpdateCollection} updateCollection 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateCollection: async (collectionName: any, updateCollection: UpdateCollection, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'collectionName' is not null or undefined
            assertParamExists('updateCollection', 'collectionName', collectionName)
            // verify required parameter 'updateCollection' is not null or undefined
            assertParamExists('updateCollection', 'updateCollection', updateCollection)
            const localVarPath = `/api/v1/collections/{collection_name}`
                .replace(`{${"collection_name"}}`, encodeURIComponent(String(collectionName)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

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


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

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

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

/**
 * DefaultApi - functional programming interface
 * @export
 */
export const DefaultApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = DefaultApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Delete
         * @param {string} collectionName 
         * @param {DeleteEmbedding} deleteEmbedding 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async _delete(collectionName: string, deleteEmbedding: DeleteEmbedding, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator._delete(collectionName, deleteEmbedding, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Add
         * @param {string} collectionName 
         * @param {AddEmbedding} addEmbedding 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async add(collectionName: string, addEmbedding: AddEmbedding, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.add(collectionName, addEmbedding, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Count
         * @param {string} collectionName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async count(collectionName: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.count(collectionName, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Create Collection
         * @param {CreateCollection} createCollection 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createCollection(createCollection: CreateCollection, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createCollection(createCollection, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Create Index
         * @param {string} collectionName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createIndex(collectionName: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createIndex(collectionName, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Delete Collection
         * @param {string} collectionName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteCollection(collectionName: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteCollection(collectionName, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Get
         * @param {any} collectionName 
         * @param {GetEmbedding} getEmbedding 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async get(collectionName: any, getEmbedding: GetEmbedding, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.get(collectionName, getEmbedding, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Get Collection
         * @param {string} collectionName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getCollection(collectionName: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getCollection(collectionName, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Get Nearest Neighbors
         * @param {any} collectionName 
         * @param {QueryEmbedding} queryEmbedding 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getNearestNeighbors(collectionName: any, queryEmbedding: QueryEmbedding, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getNearestNeighbors(collectionName, queryEmbedding, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary List Collections
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async listCollections(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.listCollections(options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Persist
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async persist(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.persist(options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Raw Sql
         * @param {RawSql} rawSql 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async rawSql(rawSql: RawSql, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.rawSql(rawSql, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Reset
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async reset(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.reset(options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Root
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async root(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.root(options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Update
         * @param {string} collectionName 
         * @param {UpdateEmbedding} updateEmbedding 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async update(collectionName: string, updateEmbedding: UpdateEmbedding, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.update(collectionName, updateEmbedding, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Update Collection
         * @param {any} collectionName 
         * @param {UpdateCollection} updateCollection 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateCollection(collectionName: any, updateCollection: UpdateCollection, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateCollection(collectionName, updateCollection, 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 Delete
         * @param {string} collectionName 
         * @param {DeleteEmbedding} deleteEmbedding 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        _delete(collectionName: string, deleteEmbedding: DeleteEmbedding, options?: any): AxiosPromise<any> {
            return localVarFp._delete(collectionName, deleteEmbedding, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Add
         * @param {string} collectionName 
         * @param {AddEmbedding} addEmbedding 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        add(collectionName: string, addEmbedding: AddEmbedding, options?: any): AxiosPromise<any> {
            return localVarFp.add(collectionName, addEmbedding, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Count
         * @param {string} collectionName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        count(collectionName: string, options?: any): AxiosPromise<any> {
            return localVarFp.count(collectionName, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Create Collection
         * @param {CreateCollection} createCollection 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createCollection(createCollection: CreateCollection, options?: any): AxiosPromise<any> {
            return localVarFp.createCollection(createCollection, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Create Index
         * @param {string} collectionName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createIndex(collectionName: string, options?: any): AxiosPromise<any> {
            return localVarFp.createIndex(collectionName, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Delete Collection
         * @param {string} collectionName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteCollection(collectionName: string, options?: any): AxiosPromise<any> {
            return localVarFp.deleteCollection(collectionName, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Get
         * @param {any} collectionName 
         * @param {GetEmbedding} getEmbedding 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        get(collectionName: any, getEmbedding: GetEmbedding, options?: any): AxiosPromise<any> {
            return localVarFp.get(collectionName, getEmbedding, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Get Collection
         * @param {string} collectionName 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getCollection(collectionName: string, options?: any): AxiosPromise<any> {
            return localVarFp.getCollection(collectionName, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Get Nearest Neighbors
         * @param {any} collectionName 
         * @param {QueryEmbedding} queryEmbedding 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getNearestNeighbors(collectionName: any, queryEmbedding: QueryEmbedding, options?: any): AxiosPromise<any> {
            return localVarFp.getNearestNeighbors(collectionName, queryEmbedding, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary List Collections
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        listCollections(options?: any): AxiosPromise<any> {
            return localVarFp.listCollections(options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Persist
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        persist(options?: any): AxiosPromise<any> {
            return localVarFp.persist(options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Raw Sql
         * @param {RawSql} rawSql 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        rawSql(rawSql: RawSql, options?: any): AxiosPromise<any> {
            return localVarFp.rawSql(rawSql, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Reset
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        reset(options?: any): AxiosPromise<any> {
            return localVarFp.reset(options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Root
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        root(options?: any): AxiosPromise<any> {
            return localVarFp.root(options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Update
         * @param {string} collectionName 
         * @param {UpdateEmbedding} updateEmbedding 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        update(collectionName: string, updateEmbedding: UpdateEmbedding, options?: any): AxiosPromise<any> {
            return localVarFp.update(collectionName, updateEmbedding, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Update Collection
         * @param {any} collectionName 
         * @param {UpdateCollection} updateCollection 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateCollection(collectionName: any, updateCollection: UpdateCollection, options?: any): AxiosPromise<any> {
            return localVarFp.updateCollection(collectionName, updateCollection, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * Request parameters for _delete operation in DefaultApi.
 * @export
 * @interface DefaultApiDeleteRequest
 */
export interface DefaultApiDeleteRequest {
    /**
     * 
     * @type {string}
     * @memberof DefaultApiDelete
     */
    readonly collectionName: string

    /**
     * 
     * @type {DeleteEmbedding}
     * @memberof DefaultApiDelete
     */
    readonly deleteEmbedding: DeleteEmbedding
}

/**
 * Request parameters for add operation in DefaultApi.
 * @export
 * @interface DefaultApiAddRequest
 */
export interface DefaultApiAddRequest {
    /**
     * 
     * @type {string}
     * @memberof DefaultApiAdd
     */
    readonly collectionName: string

    /**
     * 
     * @type {AddEmbedding}
     * @memberof DefaultApiAdd
     */
    readonly addEmbedding: AddEmbedding
}

/**
 * Request parameters for count operation in DefaultApi.
 * @export
 * @interface DefaultApiCountRequest
 */
export interface DefaultApiCountRequest {
    /**
     * 
     * @type {string}
     * @memberof DefaultApiCount
     */
    readonly collectionName: string
}

/**
 * Request parameters for createCollection operation in DefaultApi.
 * @export
 * @interface DefaultApiCreateCollectionRequest
 */
export interface DefaultApiCreateCollectionRequest {
    /**
     * 
     * @type {CreateCollection}
     * @memberof DefaultApiCreateCollection
     */
    readonly createCollection: CreateCollection
}

/**
 * Request parameters for createIndex operation in DefaultApi.
 * @export
 * @interface DefaultApiCreateIndexRequest
 */
export interface DefaultApiCreateIndexRequest {
    /**
     * 
     * @type {string}
     * @memberof DefaultApiCreateIndex
     */
    readonly collectionName: string
}

/**
 * Request parameters for deleteCollection operation in DefaultApi.
 * @export
 * @interface DefaultApiDeleteCollectionRequest
 */
export interface DefaultApiDeleteCollectionRequest {
    /**
     * 
     * @type {string}
     * @memberof DefaultApiDeleteCollection
     */
    readonly collectionName: string
}

/**
 * Request parameters for get operation in DefaultApi.
 * @export
 * @interface DefaultApiGetRequest
 */
export interface DefaultApiGetRequest {
    /**
     * 
     * @type {any}
     * @memberof DefaultApiGet
     */
    readonly collectionName: any

    /**
     * 
     * @type {GetEmbedding}
     * @memberof DefaultApiGet
     */
    readonly getEmbedding: GetEmbedding
}

/**
 * Request parameters for getCollection operation in DefaultApi.
 * @export
 * @interface DefaultApiGetCollectionRequest
 */
export interface DefaultApiGetCollectionRequest {
    /**
     * 
     * @type {string}
     * @memberof DefaultApiGetCollection
     */
    readonly collectionName: string
}

/**
 * Request parameters for getNearestNeighbors operation in DefaultApi.
 * @export
 * @interface DefaultApiGetNearestNeighborsRequest
 */
export interface DefaultApiGetNearestNeighborsRequest {
    /**
     * 
     * @type {any}
     * @memberof DefaultApiGetNearestNeighbors
     */
    readonly collectionName: any

    /**
     * 
     * @type {QueryEmbedding}
     * @memberof DefaultApiGetNearestNeighbors
     */
    readonly queryEmbedding: QueryEmbedding
}

/**
 * Request parameters for rawSql operation in DefaultApi.
 * @export
 * @interface DefaultApiRawSqlRequest
 */
export interface DefaultApiRawSqlRequest {
    /**
     * 
     * @type {RawSql}
     * @memberof DefaultApiRawSql
     */
    readonly rawSql: RawSql
}

/**
 * Request parameters for update operation in DefaultApi.
 * @export
 * @interface DefaultApiUpdateRequest
 */
export interface DefaultApiUpdateRequest {
    /**
     * 
     * @type {string}
     * @memberof DefaultApiUpdate
     */
    readonly collectionName: string

    /**
     * 
     * @type {UpdateEmbedding}
     * @memberof DefaultApiUpdate
     */
    readonly updateEmbedding: UpdateEmbedding
}

/**
 * Request parameters for updateCollection operation in DefaultApi.
 * @export
 * @interface DefaultApiUpdateCollectionRequest
 */
export interface DefaultApiUpdateCollectionRequest {
    /**
     * 
     * @type {any}
     * @memberof DefaultApiUpdateCollection
     */
    readonly collectionName: any

    /**
     * 
     * @type {UpdateCollection}
     * @memberof DefaultApiUpdateCollection
     */
    readonly updateCollection: UpdateCollection
}

/**
 * DefaultApi - object-oriented interface
 * @export
 * @class DefaultApi
 * @extends {BaseAPI}
 */
export class DefaultApi extends BaseAPI {
    /**
     * 
     * @summary Delete
     * @param {DefaultApiDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public _delete(requestParameters: DefaultApiDeleteRequest, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration)._delete(requestParameters.collectionName, requestParameters.deleteEmbedding, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Add
     * @param {DefaultApiAddRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public add(requestParameters: DefaultApiAddRequest, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).add(requestParameters.collectionName, requestParameters.addEmbedding, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Count
     * @param {DefaultApiCountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public count(requestParameters: DefaultApiCountRequest, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).count(requestParameters.collectionName, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Create Collection
     * @param {DefaultApiCreateCollectionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public createCollection(requestParameters: DefaultApiCreateCollectionRequest, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).createCollection(requestParameters.createCollection, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Create Index
     * @param {DefaultApiCreateIndexRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public createIndex(requestParameters: DefaultApiCreateIndexRequest, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).createIndex(requestParameters.collectionName, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Delete Collection
     * @param {DefaultApiDeleteCollectionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public deleteCollection(requestParameters: DefaultApiDeleteCollectionRequest, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).deleteCollection(requestParameters.collectionName, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Get
     * @param {DefaultApiGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public get(requestParameters: DefaultApiGetRequest, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).get(requestParameters.collectionName, requestParameters.getEmbedding, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Get Collection
     * @param {DefaultApiGetCollectionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public getCollection(requestParameters: DefaultApiGetCollectionRequest, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).getCollection(requestParameters.collectionName, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Get Nearest Neighbors
     * @param {DefaultApiGetNearestNeighborsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public getNearestNeighbors(requestParameters: DefaultApiGetNearestNeighborsRequest, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).getNearestNeighbors(requestParameters.collectionName, requestParameters.queryEmbedding, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary List Collections
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public listCollections(options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).listCollections(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Persist
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public persist(options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).persist(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Raw Sql
     * @param {DefaultApiRawSqlRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public rawSql(requestParameters: DefaultApiRawSqlRequest, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).rawSql(requestParameters.rawSql, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Reset
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public reset(options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).reset(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Root
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public root(options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).root(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Update
     * @param {DefaultApiUpdateRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public update(requestParameters: DefaultApiUpdateRequest, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).update(requestParameters.collectionName, requestParameters.updateEmbedding, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Update Collection
     * @param {DefaultApiUpdateCollectionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public updateCollection(requestParameters: DefaultApiUpdateCollectionRequest, options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).updateCollection(requestParameters.collectionName, requestParameters.updateCollection, options).then((request) => request(this.axios, this.basePath));
    }
}
