/**
 * 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 { Backup } from '../models';
import type { Cluster } from '../models';
import type { Restore } from '../models';
import type { RestoreCreate } from '../models';
import type { RestoreList } from '../models';
import type { RestoreLog } from '../models';
/**
 * RestoreApi - axios parameter creator
 * @export
 */
export declare const RestoreApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Delete restore task
     * @param {string} orgName name of the Org
     * @param {string} clusterName name of the KubeBlocks cluster
     * @param {string} restoreName name of the restore
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteRestoreObject: (orgName: string, clusterName: string, restoreName: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Restore current cluster or instance
     * @param {string} orgName name of the Org
     * @param {string} clusterName name of the KubeBlocks cluster
     * @param {Restore} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    doRestore: (orgName: string, clusterName: string, body: Restore, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary get restore workload logs of the cluster
     * @param {string} orgName name of the Org
     * @param {string} clusterName name of the KubeBlocks cluster
     * @param {string} restoreId id of the restore
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getRestoreLog: (orgName: string, clusterName: string, restoreId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get cluster restore time ragne
     * @param {string} orgName name of the Org
     * @param {string} clusterID ID of the KubeBlocks cluster
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getRestoreTimeRange: (orgName: string, clusterID: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary List restore tasks
     * @param {string} orgName name of the Org
     * @param {string} clusterName name of the KubeBlocks cluster
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listClusterRestore: (orgName: string, clusterName: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary List restore tasks
     * @param {string} orgName name of the Org
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listRestores: (orgName: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Restore new cluster
     * @param {string} orgName name of the Org
     * @param {RestoreCreate} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    restoreCluster: (orgName: string, body: RestoreCreate, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * RestoreApi - functional programming interface
 * @export
 */
export declare const RestoreApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Delete restore task
     * @param {string} orgName name of the Org
     * @param {string} clusterName name of the KubeBlocks cluster
     * @param {string} restoreName name of the restore
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteRestoreObject(orgName: string, clusterName: string, restoreName: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     *
     * @summary Restore current cluster or instance
     * @param {string} orgName name of the Org
     * @param {string} clusterName name of the KubeBlocks cluster
     * @param {Restore} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    doRestore(orgName: string, clusterName: string, body: Restore, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Restore>>;
    /**
     *
     * @summary get restore workload logs of the cluster
     * @param {string} orgName name of the Org
     * @param {string} clusterName name of the KubeBlocks cluster
     * @param {string} restoreId id of the restore
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getRestoreLog(orgName: string, clusterName: string, restoreId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RestoreLog>>;
    /**
     *
     * @summary Get cluster restore time ragne
     * @param {string} orgName name of the Org
     * @param {string} clusterID ID of the KubeBlocks cluster
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getRestoreTimeRange(orgName: string, clusterID: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Backup>>;
    /**
     *
     * @summary List restore tasks
     * @param {string} orgName name of the Org
     * @param {string} clusterName name of the KubeBlocks cluster
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listClusterRestore(orgName: string, clusterName: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RestoreList>>;
    /**
     *
     * @summary List restore tasks
     * @param {string} orgName name of the Org
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listRestores(orgName: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RestoreList>>;
    /**
     *
     * @summary Restore new cluster
     * @param {string} orgName name of the Org
     * @param {RestoreCreate} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    restoreCluster(orgName: string, body: RestoreCreate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Cluster>>;
};
/**
 * RestoreApi - factory interface
 * @export
 */
export declare const RestoreApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Delete restore task
     * @param {RestoreApiDeleteRestoreObjectRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteRestoreObject(requestParameters: RestoreApiDeleteRestoreObjectRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     *
     * @summary Restore current cluster or instance
     * @param {RestoreApiDoRestoreRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    doRestore(requestParameters: RestoreApiDoRestoreRequest, options?: RawAxiosRequestConfig): AxiosPromise<Restore>;
    /**
     *
     * @summary get restore workload logs of the cluster
     * @param {RestoreApiGetRestoreLogRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getRestoreLog(requestParameters: RestoreApiGetRestoreLogRequest, options?: RawAxiosRequestConfig): AxiosPromise<RestoreLog>;
    /**
     *
     * @summary Get cluster restore time ragne
     * @param {RestoreApiGetRestoreTimeRangeRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getRestoreTimeRange(requestParameters: RestoreApiGetRestoreTimeRangeRequest, options?: RawAxiosRequestConfig): AxiosPromise<Backup>;
    /**
     *
     * @summary List restore tasks
     * @param {RestoreApiListClusterRestoreRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listClusterRestore(requestParameters: RestoreApiListClusterRestoreRequest, options?: RawAxiosRequestConfig): AxiosPromise<RestoreList>;
    /**
     *
     * @summary List restore tasks
     * @param {RestoreApiListRestoresRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listRestores(requestParameters: RestoreApiListRestoresRequest, options?: RawAxiosRequestConfig): AxiosPromise<RestoreList>;
    /**
     *
     * @summary Restore new cluster
     * @param {RestoreApiRestoreClusterRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    restoreCluster(requestParameters: RestoreApiRestoreClusterRequest, options?: RawAxiosRequestConfig): AxiosPromise<Cluster>;
};
/**
 * RestoreApi - interface
 * @export
 * @interface RestoreApi
 */
export interface RestoreApiInterface {
    /**
     *
     * @summary Delete restore task
     * @param {RestoreApiDeleteRestoreObjectRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RestoreApiInterface
     */
    deleteRestoreObject(requestParameters: RestoreApiDeleteRestoreObjectRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     *
     * @summary Restore current cluster or instance
     * @param {RestoreApiDoRestoreRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RestoreApiInterface
     */
    doRestore(requestParameters: RestoreApiDoRestoreRequest, options?: RawAxiosRequestConfig): AxiosPromise<Restore>;
    /**
     *
     * @summary get restore workload logs of the cluster
     * @param {RestoreApiGetRestoreLogRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RestoreApiInterface
     */
    getRestoreLog(requestParameters: RestoreApiGetRestoreLogRequest, options?: RawAxiosRequestConfig): AxiosPromise<RestoreLog>;
    /**
     *
     * @summary Get cluster restore time ragne
     * @param {RestoreApiGetRestoreTimeRangeRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RestoreApiInterface
     */
    getRestoreTimeRange(requestParameters: RestoreApiGetRestoreTimeRangeRequest, options?: RawAxiosRequestConfig): AxiosPromise<Backup>;
    /**
     *
     * @summary List restore tasks
     * @param {RestoreApiListClusterRestoreRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RestoreApiInterface
     */
    listClusterRestore(requestParameters: RestoreApiListClusterRestoreRequest, options?: RawAxiosRequestConfig): AxiosPromise<RestoreList>;
    /**
     *
     * @summary List restore tasks
     * @param {RestoreApiListRestoresRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RestoreApiInterface
     */
    listRestores(requestParameters: RestoreApiListRestoresRequest, options?: RawAxiosRequestConfig): AxiosPromise<RestoreList>;
    /**
     *
     * @summary Restore new cluster
     * @param {RestoreApiRestoreClusterRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RestoreApiInterface
     */
    restoreCluster(requestParameters: RestoreApiRestoreClusterRequest, options?: RawAxiosRequestConfig): AxiosPromise<Cluster>;
}
/**
 * Request parameters for deleteRestoreObject operation in RestoreApi.
 * @export
 * @interface RestoreApiDeleteRestoreObjectRequest
 */
export interface RestoreApiDeleteRestoreObjectRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof RestoreApiDeleteRestoreObject
     */
    readonly orgName: string;
    /**
     * name of the KubeBlocks cluster
     * @type {string}
     * @memberof RestoreApiDeleteRestoreObject
     */
    readonly clusterName: string;
    /**
     * name of the restore
     * @type {string}
     * @memberof RestoreApiDeleteRestoreObject
     */
    readonly restoreName: string;
}
/**
 * Request parameters for doRestore operation in RestoreApi.
 * @export
 * @interface RestoreApiDoRestoreRequest
 */
export interface RestoreApiDoRestoreRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof RestoreApiDoRestore
     */
    readonly orgName: string;
    /**
     * name of the KubeBlocks cluster
     * @type {string}
     * @memberof RestoreApiDoRestore
     */
    readonly clusterName: string;
    /**
     *
     * @type {Restore}
     * @memberof RestoreApiDoRestore
     */
    readonly body: Restore;
}
/**
 * Request parameters for getRestoreLog operation in RestoreApi.
 * @export
 * @interface RestoreApiGetRestoreLogRequest
 */
export interface RestoreApiGetRestoreLogRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof RestoreApiGetRestoreLog
     */
    readonly orgName: string;
    /**
     * name of the KubeBlocks cluster
     * @type {string}
     * @memberof RestoreApiGetRestoreLog
     */
    readonly clusterName: string;
    /**
     * id of the restore
     * @type {string}
     * @memberof RestoreApiGetRestoreLog
     */
    readonly restoreId: string;
}
/**
 * Request parameters for getRestoreTimeRange operation in RestoreApi.
 * @export
 * @interface RestoreApiGetRestoreTimeRangeRequest
 */
export interface RestoreApiGetRestoreTimeRangeRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof RestoreApiGetRestoreTimeRange
     */
    readonly orgName: string;
    /**
     * ID of the KubeBlocks cluster
     * @type {string}
     * @memberof RestoreApiGetRestoreTimeRange
     */
    readonly clusterID: string;
}
/**
 * Request parameters for listClusterRestore operation in RestoreApi.
 * @export
 * @interface RestoreApiListClusterRestoreRequest
 */
export interface RestoreApiListClusterRestoreRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof RestoreApiListClusterRestore
     */
    readonly orgName: string;
    /**
     * name of the KubeBlocks cluster
     * @type {string}
     * @memberof RestoreApiListClusterRestore
     */
    readonly clusterName: string;
}
/**
 * Request parameters for listRestores operation in RestoreApi.
 * @export
 * @interface RestoreApiListRestoresRequest
 */
export interface RestoreApiListRestoresRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof RestoreApiListRestores
     */
    readonly orgName: string;
}
/**
 * Request parameters for restoreCluster operation in RestoreApi.
 * @export
 * @interface RestoreApiRestoreClusterRequest
 */
export interface RestoreApiRestoreClusterRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof RestoreApiRestoreCluster
     */
    readonly orgName: string;
    /**
     *
     * @type {RestoreCreate}
     * @memberof RestoreApiRestoreCluster
     */
    readonly body: RestoreCreate;
}
/**
 * RestoreApi - object-oriented interface
 * @export
 * @class RestoreApi
 * @extends {BaseAPI}
 */
export declare class RestoreApi extends BaseAPI implements RestoreApiInterface {
    /**
     *
     * @summary Delete restore task
     * @param {RestoreApiDeleteRestoreObjectRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RestoreApi
     */
    deleteRestoreObject(requestParameters: RestoreApiDeleteRestoreObjectRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
    /**
     *
     * @summary Restore current cluster or instance
     * @param {RestoreApiDoRestoreRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RestoreApi
     */
    doRestore(requestParameters: RestoreApiDoRestoreRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Restore, any, {}>>;
    /**
     *
     * @summary get restore workload logs of the cluster
     * @param {RestoreApiGetRestoreLogRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RestoreApi
     */
    getRestoreLog(requestParameters: RestoreApiGetRestoreLogRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<RestoreLog, any, {}>>;
    /**
     *
     * @summary Get cluster restore time ragne
     * @param {RestoreApiGetRestoreTimeRangeRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RestoreApi
     */
    getRestoreTimeRange(requestParameters: RestoreApiGetRestoreTimeRangeRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Backup, any, {}>>;
    /**
     *
     * @summary List restore tasks
     * @param {RestoreApiListClusterRestoreRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RestoreApi
     */
    listClusterRestore(requestParameters: RestoreApiListClusterRestoreRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<RestoreList, any, {}>>;
    /**
     *
     * @summary List restore tasks
     * @param {RestoreApiListRestoresRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RestoreApi
     */
    listRestores(requestParameters: RestoreApiListRestoresRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<RestoreList, any, {}>>;
    /**
     *
     * @summary Restore new cluster
     * @param {RestoreApiRestoreClusterRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RestoreApi
     */
    restoreCluster(requestParameters: RestoreApiRestoreClusterRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Cluster, any, {}>>;
}
//# sourceMappingURL=restore-api.d.ts.map