/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse } from '../models/BaseResponse';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';

export class ConfigService {
    public static getSystemConfig(): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'GET',
            url: '/api/v1/config/system',
        });
    }

    public static updateSystemConfig(
        requestBody: any,
    ): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'POST',
            url: '/api/v1/config/system',
            body: requestBody,
        });
    }

    public static getProviders(): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'GET',
            url: '/api/v1/config/providers',
        });
    }

    public static getProviderConfigs(): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'GET',
            url: '/api/v1/config/provider-configs',
        });
    }

    public static getModelsConfig(): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'GET',
            url: '/api/v1/config/models',
        });
    }

    public static registerNewModel(
        requestBody: any,
    ): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'POST',
            url: '/api/v1/config/models',
            body: requestBody,
        });
    }

    public static searchModels(
        query: string,
    ): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'GET',
            url: '/api/v1/config/models/search',
            query: { query },
        });
    }

    public static getModelConfig(
        modelId: string,
    ): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'GET',
            url: `/api/v1/config/models/${modelId}`,
        });
    }

    public static getDefaults(): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'GET',
            url: '/api/v1/config/defaults',
        });
    }

    public static signUrlEndpoint(
        requestBody: any,
    ): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'POST',
            url: '/api/v1/config/sign-url',
            body: requestBody,
        });
    }

    public static getStyles(): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'GET',
            url: '/api/v1/config/styles',
        });
    }

    public static createStyle(
        requestBody: any,
    ): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'POST',
            url: '/api/v1/config/styles',
            body: requestBody,
        });
    }

    public static updateStyle(
        styleId: string,
        requestBody: any,
    ): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'PUT',
            url: `/api/v1/config/styles/${styleId}`,
            body: requestBody,
        });
    }

    public static deleteStyle(
        styleId: string,
    ): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'DELETE',
            url: `/api/v1/config/styles/${styleId}`,
        });
    }

    public static getGenerationOptions(): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'GET',
            url: '/api/v1/config/generation-options',
        });
    }

    public static getHealthStatus(): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'GET',
            url: '/api/v1/health',
        });
    }

    public static getServiceHealth(
        service: string,
    ): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'GET',
            url: `/api/v1/health/${service}`,
        });
    }

    public static checkServiceHealth(
        service: string,
    ): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'POST',
            url: `/api/v1/health/${service}/check`,
        });
    }

    public static validateConfigurations(): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'GET',
            url: '/api/v1/config/validate',
        });
    }

    public static validateServiceConfiguration(
        requestBody: any,
    ): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'POST',
            url: '/api/v1/config/validate/service',
            body: requestBody,
        });
    }

    public static validateConfigFile(
        filename: string,
    ): CancelablePromise<BaseResponse> {
        return __request(OpenAPI, {
            method: 'GET',
            url: `/api/v1/config/validate/file/${filename}`,
        });
    }
}
