/**
 * KubeBlocks Cloud API
 * KubeBlocks Cloud API is a RESTful API for managing KubeBlocks Cloud resources.  The API is organized around REST.  Our API has predictable resource-oriented URLs, accepts `JSON-encoded` request bodies, returns `JSON-encoded` responses, and uses standard HTTP response codes, authentication, and verbs.  We use standard HTTP authentication and provide API keys to identify who you are. Your API keys carry many privileges, so be sure to keep them secret! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: support@apecloud.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { type RequestArgs, BaseAPI } from '../base';
import type { Engine } from '../models';
import type { EngineLicenseList } from '../models';
import type { EngineNetworkModeSupported } from '../models';
import type { EngineSchedulingPolicy } from '../models';
import type { EngineServiceVersions } from '../models';
import type { EngineTypeList } from '../models';
import type { ResourceConstraintList } from '../models';
/**
 * EngineApi - axios parameter creator
 * @export
 */
export declare const EngineApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Get supported network modes for engine+mode from engineOption config
     * @param {string} environmentName environment name
     * @param {string} engineName engine name
     * @param {string} mode engine mode
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEngineNetworkModeSupported: (environmentName: string, engineName: string, mode: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * list all engineLicenses
     * @summary List all engineLicenses
     * @param {string} [engineName] engine name
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEngineLicenses: (engineName?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary List engine resource constraints
     * @param {string} [engine] engine name
     * @param {string} [mode] engine mode
     * @param {string} [component] engine component
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEngineResourceConstraints: (engine?: string, mode?: string, component?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary List engine scheduling policies
     * @param {string} engineName engine name
     * @param {string} [engineMode] engine mode
     * @param {string} [env] environment name
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEngineSchedulingPolicies: (engineName: string, engineMode?: string, env?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary List engine types
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEngineTypes: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary List engines in environment
     * @param {string} environmentName name of the EnvironmentName
     * @param {string} [name] engine name
     * @param {string} [type] engine Type
     * @param {string} [version] engine version
     * @param {string} [provider] engine provider
     * @param {boolean} [all] list all engines include uninstall engines
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEnginesInEnv: (environmentName: string, name?: string, type?: string, version?: string, provider?: string, all?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * list the service version of the engine
     * @summary list the service version of the engine
     * @param {string} environmentName environment name
     * @param {string} engineName Name of the engine
     * @param {string} engineMode engine mode
     * @param {string} engineVersion engine version
     * @param {string} [component] component type, refer to componentDef and support NamePrefix
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listServiceVersion: (environmentName: string, engineName: string, engineMode: string, engineVersion: string, component?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * list upgraded service version of the component
     * @summary list upgraded service version of the component
     * @param {string} clusterName Name of the cluster
     * @param {string} orgName organization name
     * @param {string} component component type
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUpgradeableServiceVersion: (clusterName: string, orgName: string, component: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * EngineApi - functional programming interface
 * @export
 */
export declare const EngineApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Get supported network modes for engine+mode from engineOption config
     * @param {string} environmentName environment name
     * @param {string} engineName engine name
     * @param {string} mode engine mode
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEngineNetworkModeSupported(environmentName: string, engineName: string, mode: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineNetworkModeSupported>>;
    /**
     * list all engineLicenses
     * @summary List all engineLicenses
     * @param {string} [engineName] engine name
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEngineLicenses(engineName?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineLicenseList>>;
    /**
     *
     * @summary List engine resource constraints
     * @param {string} [engine] engine name
     * @param {string} [mode] engine mode
     * @param {string} [component] engine component
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEngineResourceConstraints(engine?: string, mode?: string, component?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ResourceConstraintList>>;
    /**
     *
     * @summary List engine scheduling policies
     * @param {string} engineName engine name
     * @param {string} [engineMode] engine mode
     * @param {string} [env] environment name
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEngineSchedulingPolicies(engineName: string, engineMode?: string, env?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<EngineSchedulingPolicy>>>;
    /**
     *
     * @summary List engine types
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEngineTypes(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineTypeList>>;
    /**
     *
     * @summary List engines in environment
     * @param {string} environmentName name of the EnvironmentName
     * @param {string} [name] engine name
     * @param {string} [type] engine Type
     * @param {string} [version] engine version
     * @param {string} [provider] engine provider
     * @param {boolean} [all] list all engines include uninstall engines
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEnginesInEnv(environmentName: string, name?: string, type?: string, version?: string, provider?: string, all?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Engine>>>;
    /**
     * list the service version of the engine
     * @summary list the service version of the engine
     * @param {string} environmentName environment name
     * @param {string} engineName Name of the engine
     * @param {string} engineMode engine mode
     * @param {string} engineVersion engine version
     * @param {string} [component] component type, refer to componentDef and support NamePrefix
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listServiceVersion(environmentName: string, engineName: string, engineMode: string, engineVersion: string, component?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineServiceVersions>>;
    /**
     * list upgraded service version of the component
     * @summary list upgraded service version of the component
     * @param {string} clusterName Name of the cluster
     * @param {string} orgName organization name
     * @param {string} component component type
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUpgradeableServiceVersion(clusterName: string, orgName: string, component: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineServiceVersions>>;
};
/**
 * EngineApi - factory interface
 * @export
 */
export declare const EngineApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Get supported network modes for engine+mode from engineOption config
     * @param {EngineApiGetEngineNetworkModeSupportedRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEngineNetworkModeSupported(requestParameters: EngineApiGetEngineNetworkModeSupportedRequest, options?: RawAxiosRequestConfig): AxiosPromise<EngineNetworkModeSupported>;
    /**
     * list all engineLicenses
     * @summary List all engineLicenses
     * @param {EngineApiListEngineLicensesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEngineLicenses(requestParameters?: EngineApiListEngineLicensesRequest, options?: RawAxiosRequestConfig): AxiosPromise<EngineLicenseList>;
    /**
     *
     * @summary List engine resource constraints
     * @param {EngineApiListEngineResourceConstraintsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEngineResourceConstraints(requestParameters?: EngineApiListEngineResourceConstraintsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ResourceConstraintList>;
    /**
     *
     * @summary List engine scheduling policies
     * @param {EngineApiListEngineSchedulingPoliciesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEngineSchedulingPolicies(requestParameters: EngineApiListEngineSchedulingPoliciesRequest, options?: RawAxiosRequestConfig): AxiosPromise<Array<EngineSchedulingPolicy>>;
    /**
     *
     * @summary List engine types
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEngineTypes(options?: RawAxiosRequestConfig): AxiosPromise<EngineTypeList>;
    /**
     *
     * @summary List engines in environment
     * @param {EngineApiListEnginesInEnvRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEnginesInEnv(requestParameters: EngineApiListEnginesInEnvRequest, options?: RawAxiosRequestConfig): AxiosPromise<Array<Engine>>;
    /**
     * list the service version of the engine
     * @summary list the service version of the engine
     * @param {EngineApiListServiceVersionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listServiceVersion(requestParameters: EngineApiListServiceVersionRequest, options?: RawAxiosRequestConfig): AxiosPromise<EngineServiceVersions>;
    /**
     * list upgraded service version of the component
     * @summary list upgraded service version of the component
     * @param {EngineApiListUpgradeableServiceVersionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUpgradeableServiceVersion(requestParameters: EngineApiListUpgradeableServiceVersionRequest, options?: RawAxiosRequestConfig): AxiosPromise<EngineServiceVersions>;
};
/**
 * EngineApi - interface
 * @export
 * @interface EngineApi
 */
export interface EngineApiInterface {
    /**
     *
     * @summary Get supported network modes for engine+mode from engineOption config
     * @param {EngineApiGetEngineNetworkModeSupportedRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineApiInterface
     */
    getEngineNetworkModeSupported(requestParameters: EngineApiGetEngineNetworkModeSupportedRequest, options?: RawAxiosRequestConfig): AxiosPromise<EngineNetworkModeSupported>;
    /**
     * list all engineLicenses
     * @summary List all engineLicenses
     * @param {EngineApiListEngineLicensesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineApiInterface
     */
    listEngineLicenses(requestParameters?: EngineApiListEngineLicensesRequest, options?: RawAxiosRequestConfig): AxiosPromise<EngineLicenseList>;
    /**
     *
     * @summary List engine resource constraints
     * @param {EngineApiListEngineResourceConstraintsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineApiInterface
     */
    listEngineResourceConstraints(requestParameters?: EngineApiListEngineResourceConstraintsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ResourceConstraintList>;
    /**
     *
     * @summary List engine scheduling policies
     * @param {EngineApiListEngineSchedulingPoliciesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineApiInterface
     */
    listEngineSchedulingPolicies(requestParameters: EngineApiListEngineSchedulingPoliciesRequest, options?: RawAxiosRequestConfig): AxiosPromise<Array<EngineSchedulingPolicy>>;
    /**
     *
     * @summary List engine types
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineApiInterface
     */
    listEngineTypes(options?: RawAxiosRequestConfig): AxiosPromise<EngineTypeList>;
    /**
     *
     * @summary List engines in environment
     * @param {EngineApiListEnginesInEnvRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineApiInterface
     */
    listEnginesInEnv(requestParameters: EngineApiListEnginesInEnvRequest, options?: RawAxiosRequestConfig): AxiosPromise<Array<Engine>>;
    /**
     * list the service version of the engine
     * @summary list the service version of the engine
     * @param {EngineApiListServiceVersionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineApiInterface
     */
    listServiceVersion(requestParameters: EngineApiListServiceVersionRequest, options?: RawAxiosRequestConfig): AxiosPromise<EngineServiceVersions>;
    /**
     * list upgraded service version of the component
     * @summary list upgraded service version of the component
     * @param {EngineApiListUpgradeableServiceVersionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineApiInterface
     */
    listUpgradeableServiceVersion(requestParameters: EngineApiListUpgradeableServiceVersionRequest, options?: RawAxiosRequestConfig): AxiosPromise<EngineServiceVersions>;
}
/**
 * Request parameters for getEngineNetworkModeSupported operation in EngineApi.
 * @export
 * @interface EngineApiGetEngineNetworkModeSupportedRequest
 */
export interface EngineApiGetEngineNetworkModeSupportedRequest {
    /**
     * environment name
     * @type {string}
     * @memberof EngineApiGetEngineNetworkModeSupported
     */
    readonly environmentName: string;
    /**
     * engine name
     * @type {string}
     * @memberof EngineApiGetEngineNetworkModeSupported
     */
    readonly engineName: string;
    /**
     * engine mode
     * @type {string}
     * @memberof EngineApiGetEngineNetworkModeSupported
     */
    readonly mode: string;
}
/**
 * Request parameters for listEngineLicenses operation in EngineApi.
 * @export
 * @interface EngineApiListEngineLicensesRequest
 */
export interface EngineApiListEngineLicensesRequest {
    /**
     * engine name
     * @type {string}
     * @memberof EngineApiListEngineLicenses
     */
    readonly engineName?: string;
}
/**
 * Request parameters for listEngineResourceConstraints operation in EngineApi.
 * @export
 * @interface EngineApiListEngineResourceConstraintsRequest
 */
export interface EngineApiListEngineResourceConstraintsRequest {
    /**
     * engine name
     * @type {string}
     * @memberof EngineApiListEngineResourceConstraints
     */
    readonly engine?: string;
    /**
     * engine mode
     * @type {string}
     * @memberof EngineApiListEngineResourceConstraints
     */
    readonly mode?: string;
    /**
     * engine component
     * @type {string}
     * @memberof EngineApiListEngineResourceConstraints
     */
    readonly component?: string;
}
/**
 * Request parameters for listEngineSchedulingPolicies operation in EngineApi.
 * @export
 * @interface EngineApiListEngineSchedulingPoliciesRequest
 */
export interface EngineApiListEngineSchedulingPoliciesRequest {
    /**
     * engine name
     * @type {string}
     * @memberof EngineApiListEngineSchedulingPolicies
     */
    readonly engineName: string;
    /**
     * engine mode
     * @type {string}
     * @memberof EngineApiListEngineSchedulingPolicies
     */
    readonly engineMode?: string;
    /**
     * environment name
     * @type {string}
     * @memberof EngineApiListEngineSchedulingPolicies
     */
    readonly env?: string;
}
/**
 * Request parameters for listEnginesInEnv operation in EngineApi.
 * @export
 * @interface EngineApiListEnginesInEnvRequest
 */
export interface EngineApiListEnginesInEnvRequest {
    /**
     * name of the EnvironmentName
     * @type {string}
     * @memberof EngineApiListEnginesInEnv
     */
    readonly environmentName: string;
    /**
     * engine name
     * @type {string}
     * @memberof EngineApiListEnginesInEnv
     */
    readonly name?: string;
    /**
     * engine Type
     * @type {string}
     * @memberof EngineApiListEnginesInEnv
     */
    readonly type?: string;
    /**
     * engine version
     * @type {string}
     * @memberof EngineApiListEnginesInEnv
     */
    readonly version?: string;
    /**
     * engine provider
     * @type {string}
     * @memberof EngineApiListEnginesInEnv
     */
    readonly provider?: string;
    /**
     * list all engines include uninstall engines
     * @type {boolean}
     * @memberof EngineApiListEnginesInEnv
     */
    readonly all?: boolean;
}
/**
 * Request parameters for listServiceVersion operation in EngineApi.
 * @export
 * @interface EngineApiListServiceVersionRequest
 */
export interface EngineApiListServiceVersionRequest {
    /**
     * environment name
     * @type {string}
     * @memberof EngineApiListServiceVersion
     */
    readonly environmentName: string;
    /**
     * Name of the engine
     * @type {string}
     * @memberof EngineApiListServiceVersion
     */
    readonly engineName: string;
    /**
     * engine mode
     * @type {string}
     * @memberof EngineApiListServiceVersion
     */
    readonly engineMode: string;
    /**
     * engine version
     * @type {string}
     * @memberof EngineApiListServiceVersion
     */
    readonly engineVersion: string;
    /**
     * component type, refer to componentDef and support NamePrefix
     * @type {string}
     * @memberof EngineApiListServiceVersion
     */
    readonly component?: string;
}
/**
 * Request parameters for listUpgradeableServiceVersion operation in EngineApi.
 * @export
 * @interface EngineApiListUpgradeableServiceVersionRequest
 */
export interface EngineApiListUpgradeableServiceVersionRequest {
    /**
     * Name of the cluster
     * @type {string}
     * @memberof EngineApiListUpgradeableServiceVersion
     */
    readonly clusterName: string;
    /**
     * organization name
     * @type {string}
     * @memberof EngineApiListUpgradeableServiceVersion
     */
    readonly orgName: string;
    /**
     * component type
     * @type {string}
     * @memberof EngineApiListUpgradeableServiceVersion
     */
    readonly component: string;
}
/**
 * EngineApi - object-oriented interface
 * @export
 * @class EngineApi
 * @extends {BaseAPI}
 */
export declare class EngineApi extends BaseAPI implements EngineApiInterface {
    /**
     *
     * @summary Get supported network modes for engine+mode from engineOption config
     * @param {EngineApiGetEngineNetworkModeSupportedRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineApi
     */
    getEngineNetworkModeSupported(requestParameters: EngineApiGetEngineNetworkModeSupportedRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<EngineNetworkModeSupported, any, {}>>;
    /**
     * list all engineLicenses
     * @summary List all engineLicenses
     * @param {EngineApiListEngineLicensesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineApi
     */
    listEngineLicenses(requestParameters?: EngineApiListEngineLicensesRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<EngineLicenseList, any, {}>>;
    /**
     *
     * @summary List engine resource constraints
     * @param {EngineApiListEngineResourceConstraintsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineApi
     */
    listEngineResourceConstraints(requestParameters?: EngineApiListEngineResourceConstraintsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ResourceConstraintList, any, {}>>;
    /**
     *
     * @summary List engine scheduling policies
     * @param {EngineApiListEngineSchedulingPoliciesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineApi
     */
    listEngineSchedulingPolicies(requestParameters: EngineApiListEngineSchedulingPoliciesRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<EngineSchedulingPolicy[], any, {}>>;
    /**
     *
     * @summary List engine types
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineApi
     */
    listEngineTypes(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<EngineTypeList, any, {}>>;
    /**
     *
     * @summary List engines in environment
     * @param {EngineApiListEnginesInEnvRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineApi
     */
    listEnginesInEnv(requestParameters: EngineApiListEnginesInEnvRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Engine[], any, {}>>;
    /**
     * list the service version of the engine
     * @summary list the service version of the engine
     * @param {EngineApiListServiceVersionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineApi
     */
    listServiceVersion(requestParameters: EngineApiListServiceVersionRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<EngineServiceVersions, any, {}>>;
    /**
     * list upgraded service version of the component
     * @summary list upgraded service version of the component
     * @param {EngineApiListUpgradeableServiceVersionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineApi
     */
    listUpgradeableServiceVersion(requestParameters: EngineApiListUpgradeableServiceVersionRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<EngineServiceVersions, any, {}>>;
}
//# sourceMappingURL=engine-api.d.ts.map