/**
 * Admin API
 * The Admin API is used to manage the ApeCloud platform.
 *
 * 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 { EngineLicense } from '../models';
import type { EngineLicenseList } from '../models';
/**
 * EngineLicenseApi - axios parameter creator
 * @export
 */
export declare const EngineLicenseApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Create a new engineLicense
     * @summary Create engineLicense
     * @param {string} name Name of the engine license
     * @param {string} engineName Name of the engine
     * @param {string} type Type of the license. Determines whether licenseFile is required.
     * @param {string} [description] Description of the engine license
     * @param {string} [expiredAt] Expiration date and time of the license (optional)
     * @param {string} [environmentID] Environment ID of the license (optional)
     * @param {File} [licenseFile] The license file to upload. Required when type is not NodeScope; optional when type is NodeScope.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createEngineLicense: (name: string, engineName: string, type: string, description?: string, expiredAt?: string, environmentID?: string, licenseFile?: File, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * delete an engine license
     * @summary Delete engine license
     * @param {string} licenseId license id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteEngineLicense: (licenseId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Get a engineLicense detail
     * @summary Get engineLicense
     * @param {string} licenseId license id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    engineLicense: (licenseId: 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>;
};
/**
 * EngineLicenseApi - functional programming interface
 * @export
 */
export declare const EngineLicenseApiFp: (configuration?: Configuration) => {
    /**
     * Create a new engineLicense
     * @summary Create engineLicense
     * @param {string} name Name of the engine license
     * @param {string} engineName Name of the engine
     * @param {string} type Type of the license. Determines whether licenseFile is required.
     * @param {string} [description] Description of the engine license
     * @param {string} [expiredAt] Expiration date and time of the license (optional)
     * @param {string} [environmentID] Environment ID of the license (optional)
     * @param {File} [licenseFile] The license file to upload. Required when type is not NodeScope; optional when type is NodeScope.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createEngineLicense(name: string, engineName: string, type: string, description?: string, expiredAt?: string, environmentID?: string, licenseFile?: File, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineLicense>>;
    /**
     * delete an engine license
     * @summary Delete engine license
     * @param {string} licenseId license id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteEngineLicense(licenseId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     * Get a engineLicense detail
     * @summary Get engineLicense
     * @param {string} licenseId license id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    engineLicense(licenseId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EngineLicense>>;
    /**
     * 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>>;
};
/**
 * EngineLicenseApi - factory interface
 * @export
 */
export declare const EngineLicenseApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Create a new engineLicense
     * @summary Create engineLicense
     * @param {EngineLicenseApiCreateEngineLicenseRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createEngineLicense(requestParameters: EngineLicenseApiCreateEngineLicenseRequest, options?: RawAxiosRequestConfig): AxiosPromise<EngineLicense>;
    /**
     * delete an engine license
     * @summary Delete engine license
     * @param {EngineLicenseApiDeleteEngineLicenseRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteEngineLicense(requestParameters: EngineLicenseApiDeleteEngineLicenseRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     * Get a engineLicense detail
     * @summary Get engineLicense
     * @param {EngineLicenseApiEngineLicenseRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    engineLicense(requestParameters: EngineLicenseApiEngineLicenseRequest, options?: RawAxiosRequestConfig): AxiosPromise<EngineLicense>;
    /**
     * list all engineLicenses
     * @summary List all engineLicenses
     * @param {EngineLicenseApiListEngineLicensesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEngineLicenses(requestParameters?: EngineLicenseApiListEngineLicensesRequest, options?: RawAxiosRequestConfig): AxiosPromise<EngineLicenseList>;
};
/**
 * EngineLicenseApi - interface
 * @export
 * @interface EngineLicenseApi
 */
export interface EngineLicenseApiInterface {
    /**
     * Create a new engineLicense
     * @summary Create engineLicense
     * @param {EngineLicenseApiCreateEngineLicenseRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineLicenseApiInterface
     */
    createEngineLicense(requestParameters: EngineLicenseApiCreateEngineLicenseRequest, options?: RawAxiosRequestConfig): AxiosPromise<EngineLicense>;
    /**
     * delete an engine license
     * @summary Delete engine license
     * @param {EngineLicenseApiDeleteEngineLicenseRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineLicenseApiInterface
     */
    deleteEngineLicense(requestParameters: EngineLicenseApiDeleteEngineLicenseRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     * Get a engineLicense detail
     * @summary Get engineLicense
     * @param {EngineLicenseApiEngineLicenseRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineLicenseApiInterface
     */
    engineLicense(requestParameters: EngineLicenseApiEngineLicenseRequest, options?: RawAxiosRequestConfig): AxiosPromise<EngineLicense>;
    /**
     * list all engineLicenses
     * @summary List all engineLicenses
     * @param {EngineLicenseApiListEngineLicensesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineLicenseApiInterface
     */
    listEngineLicenses(requestParameters?: EngineLicenseApiListEngineLicensesRequest, options?: RawAxiosRequestConfig): AxiosPromise<EngineLicenseList>;
}
/**
 * Request parameters for createEngineLicense operation in EngineLicenseApi.
 * @export
 * @interface EngineLicenseApiCreateEngineLicenseRequest
 */
export interface EngineLicenseApiCreateEngineLicenseRequest {
    /**
     * Name of the engine license
     * @type {string}
     * @memberof EngineLicenseApiCreateEngineLicense
     */
    readonly name: string;
    /**
     * Name of the engine
     * @type {string}
     * @memberof EngineLicenseApiCreateEngineLicense
     */
    readonly engineName: string;
    /**
     * Type of the license. Determines whether licenseFile is required.
     * @type {string}
     * @memberof EngineLicenseApiCreateEngineLicense
     */
    readonly type: string;
    /**
     * Description of the engine license
     * @type {string}
     * @memberof EngineLicenseApiCreateEngineLicense
     */
    readonly description?: string;
    /**
     * Expiration date and time of the license (optional)
     * @type {string}
     * @memberof EngineLicenseApiCreateEngineLicense
     */
    readonly expiredAt?: string;
    /**
     * Environment ID of the license (optional)
     * @type {string}
     * @memberof EngineLicenseApiCreateEngineLicense
     */
    readonly environmentID?: string;
    /**
     * The license file to upload. Required when type is not NodeScope; optional when type is NodeScope.
     * @type {File}
     * @memberof EngineLicenseApiCreateEngineLicense
     */
    readonly licenseFile?: File;
}
/**
 * Request parameters for deleteEngineLicense operation in EngineLicenseApi.
 * @export
 * @interface EngineLicenseApiDeleteEngineLicenseRequest
 */
export interface EngineLicenseApiDeleteEngineLicenseRequest {
    /**
     * license id
     * @type {string}
     * @memberof EngineLicenseApiDeleteEngineLicense
     */
    readonly licenseId: string;
}
/**
 * Request parameters for engineLicense operation in EngineLicenseApi.
 * @export
 * @interface EngineLicenseApiEngineLicenseRequest
 */
export interface EngineLicenseApiEngineLicenseRequest {
    /**
     * license id
     * @type {string}
     * @memberof EngineLicenseApiEngineLicense
     */
    readonly licenseId: string;
}
/**
 * Request parameters for listEngineLicenses operation in EngineLicenseApi.
 * @export
 * @interface EngineLicenseApiListEngineLicensesRequest
 */
export interface EngineLicenseApiListEngineLicensesRequest {
    /**
     * engine name
     * @type {string}
     * @memberof EngineLicenseApiListEngineLicenses
     */
    readonly engineName?: string;
}
/**
 * EngineLicenseApi - object-oriented interface
 * @export
 * @class EngineLicenseApi
 * @extends {BaseAPI}
 */
export declare class EngineLicenseApi extends BaseAPI implements EngineLicenseApiInterface {
    /**
     * Create a new engineLicense
     * @summary Create engineLicense
     * @param {EngineLicenseApiCreateEngineLicenseRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineLicenseApi
     */
    createEngineLicense(requestParameters: EngineLicenseApiCreateEngineLicenseRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<EngineLicense, any, {}>>;
    /**
     * delete an engine license
     * @summary Delete engine license
     * @param {EngineLicenseApiDeleteEngineLicenseRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineLicenseApi
     */
    deleteEngineLicense(requestParameters: EngineLicenseApiDeleteEngineLicenseRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
    /**
     * Get a engineLicense detail
     * @summary Get engineLicense
     * @param {EngineLicenseApiEngineLicenseRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineLicenseApi
     */
    engineLicense(requestParameters: EngineLicenseApiEngineLicenseRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<EngineLicense, any, {}>>;
    /**
     * list all engineLicenses
     * @summary List all engineLicenses
     * @param {EngineLicenseApiListEngineLicensesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EngineLicenseApi
     */
    listEngineLicenses(requestParameters?: EngineLicenseApiListEngineLicensesRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<EngineLicenseList, any, {}>>;
}
//# sourceMappingURL=engine-license-api.d.ts.map