/**
 * 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 { Task } from '../models';
import type { TaskList } from '../models';
import type { TaskTypeList } from '../models';
/**
 * TaskApi - axios parameter creator
 * @export
 */
export declare const TaskApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Cancel a task by taskID within the organization.
     * @summary Cancel a task
     * @param {string} orgName name of the Org
     * @param {string} taskId ID of the task
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    cancelTask: (orgName: string, taskId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Get task
     * @summary Get task detail
     * @param {string} orgName Organization name
     * @param {string} taskId ID of the task
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getTask: (orgName: string, taskId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * List task types
     * @summary List task types
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listTaskTypes: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * List tasks
     * @summary List task
     * @param {string} orgName name of the Org
     * @param {number} start The start of the time range for the query, unit is seconds.
     * @param {number} end The end of the time range for the query, unit is seconds.
     * @param {string} [resourceId] Filter by resource ID (such as cluster ID, environment ID, etc.)
     * @param {string} [resourceType] Filter by resource type
     * @param {string} [taskType] Filter by task type (supports multiple task types separated by commas, e.g., \&quot;cluster-scale,cluster-upgrade\&quot;)
     * @param {string} [status] Filter by task status (supports multiple statuses separated by commas, e.g., \&quot;Running,Pending\&quot;)
     * @param {number} [pageNumber] The pageNumber of the query
     * @param {number} [pageSize] The pageSize of the query
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listTasks: (orgName: string, start: number, end: number, resourceId?: string, resourceType?: string, taskType?: string, status?: string, pageNumber?: number, pageSize?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * TaskApi - functional programming interface
 * @export
 */
export declare const TaskApiFp: (configuration?: Configuration) => {
    /**
     * Cancel a task by taskID within the organization.
     * @summary Cancel a task
     * @param {string} orgName name of the Org
     * @param {string} taskId ID of the task
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    cancelTask(orgName: string, taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     * Get task
     * @summary Get task detail
     * @param {string} orgName Organization name
     * @param {string} taskId ID of the task
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getTask(orgName: string, taskId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Task>>;
    /**
     * List task types
     * @summary List task types
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listTaskTypes(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TaskTypeList>>;
    /**
     * List tasks
     * @summary List task
     * @param {string} orgName name of the Org
     * @param {number} start The start of the time range for the query, unit is seconds.
     * @param {number} end The end of the time range for the query, unit is seconds.
     * @param {string} [resourceId] Filter by resource ID (such as cluster ID, environment ID, etc.)
     * @param {string} [resourceType] Filter by resource type
     * @param {string} [taskType] Filter by task type (supports multiple task types separated by commas, e.g., \&quot;cluster-scale,cluster-upgrade\&quot;)
     * @param {string} [status] Filter by task status (supports multiple statuses separated by commas, e.g., \&quot;Running,Pending\&quot;)
     * @param {number} [pageNumber] The pageNumber of the query
     * @param {number} [pageSize] The pageSize of the query
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listTasks(orgName: string, start: number, end: number, resourceId?: string, resourceType?: string, taskType?: string, status?: string, pageNumber?: number, pageSize?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TaskList>>;
};
/**
 * TaskApi - factory interface
 * @export
 */
export declare const TaskApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Cancel a task by taskID within the organization.
     * @summary Cancel a task
     * @param {TaskApiCancelTaskRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    cancelTask(requestParameters: TaskApiCancelTaskRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     * Get task
     * @summary Get task detail
     * @param {TaskApiGetTaskRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getTask(requestParameters: TaskApiGetTaskRequest, options?: RawAxiosRequestConfig): AxiosPromise<Task>;
    /**
     * List task types
     * @summary List task types
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listTaskTypes(options?: RawAxiosRequestConfig): AxiosPromise<TaskTypeList>;
    /**
     * List tasks
     * @summary List task
     * @param {TaskApiListTasksRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listTasks(requestParameters: TaskApiListTasksRequest, options?: RawAxiosRequestConfig): AxiosPromise<TaskList>;
};
/**
 * TaskApi - interface
 * @export
 * @interface TaskApi
 */
export interface TaskApiInterface {
    /**
     * Cancel a task by taskID within the organization.
     * @summary Cancel a task
     * @param {TaskApiCancelTaskRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TaskApiInterface
     */
    cancelTask(requestParameters: TaskApiCancelTaskRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     * Get task
     * @summary Get task detail
     * @param {TaskApiGetTaskRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TaskApiInterface
     */
    getTask(requestParameters: TaskApiGetTaskRequest, options?: RawAxiosRequestConfig): AxiosPromise<Task>;
    /**
     * List task types
     * @summary List task types
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TaskApiInterface
     */
    listTaskTypes(options?: RawAxiosRequestConfig): AxiosPromise<TaskTypeList>;
    /**
     * List tasks
     * @summary List task
     * @param {TaskApiListTasksRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TaskApiInterface
     */
    listTasks(requestParameters: TaskApiListTasksRequest, options?: RawAxiosRequestConfig): AxiosPromise<TaskList>;
}
/**
 * Request parameters for cancelTask operation in TaskApi.
 * @export
 * @interface TaskApiCancelTaskRequest
 */
export interface TaskApiCancelTaskRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof TaskApiCancelTask
     */
    readonly orgName: string;
    /**
     * ID of the task
     * @type {string}
     * @memberof TaskApiCancelTask
     */
    readonly taskId: string;
}
/**
 * Request parameters for getTask operation in TaskApi.
 * @export
 * @interface TaskApiGetTaskRequest
 */
export interface TaskApiGetTaskRequest {
    /**
     * Organization name
     * @type {string}
     * @memberof TaskApiGetTask
     */
    readonly orgName: string;
    /**
     * ID of the task
     * @type {string}
     * @memberof TaskApiGetTask
     */
    readonly taskId: string;
}
/**
 * Request parameters for listTasks operation in TaskApi.
 * @export
 * @interface TaskApiListTasksRequest
 */
export interface TaskApiListTasksRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof TaskApiListTasks
     */
    readonly orgName: string;
    /**
     * The start of the time range for the query, unit is seconds.
     * @type {number}
     * @memberof TaskApiListTasks
     */
    readonly start: number;
    /**
     * The end of the time range for the query, unit is seconds.
     * @type {number}
     * @memberof TaskApiListTasks
     */
    readonly end: number;
    /**
     * Filter by resource ID (such as cluster ID, environment ID, etc.)
     * @type {string}
     * @memberof TaskApiListTasks
     */
    readonly resourceId?: string;
    /**
     * Filter by resource type
     * @type {string}
     * @memberof TaskApiListTasks
     */
    readonly resourceType?: string;
    /**
     * Filter by task type (supports multiple task types separated by commas, e.g., \&quot;cluster-scale,cluster-upgrade\&quot;)
     * @type {string}
     * @memberof TaskApiListTasks
     */
    readonly taskType?: string;
    /**
     * Filter by task status (supports multiple statuses separated by commas, e.g., \&quot;Running,Pending\&quot;)
     * @type {string}
     * @memberof TaskApiListTasks
     */
    readonly status?: string;
    /**
     * The pageNumber of the query
     * @type {number}
     * @memberof TaskApiListTasks
     */
    readonly pageNumber?: number;
    /**
     * The pageSize of the query
     * @type {number}
     * @memberof TaskApiListTasks
     */
    readonly pageSize?: number;
}
/**
 * TaskApi - object-oriented interface
 * @export
 * @class TaskApi
 * @extends {BaseAPI}
 */
export declare class TaskApi extends BaseAPI implements TaskApiInterface {
    /**
     * Cancel a task by taskID within the organization.
     * @summary Cancel a task
     * @param {TaskApiCancelTaskRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TaskApi
     */
    cancelTask(requestParameters: TaskApiCancelTaskRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
    /**
     * Get task
     * @summary Get task detail
     * @param {TaskApiGetTaskRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TaskApi
     */
    getTask(requestParameters: TaskApiGetTaskRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Task, any, {}>>;
    /**
     * List task types
     * @summary List task types
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TaskApi
     */
    listTaskTypes(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<TaskTypeList, any, {}>>;
    /**
     * List tasks
     * @summary List task
     * @param {TaskApiListTasksRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TaskApi
     */
    listTasks(requestParameters: TaskApiListTasksRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<TaskList, any, {}>>;
}
//# sourceMappingURL=task-api.d.ts.map