/**
 * 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 { ClusterTags } from '../models';
import type { OrgTagsList } from '../models';
import type { Tag } from '../models';
import type { TagCreate } from '../models';
import type { TagUpdate } from '../models';
/**
 * ClusterTagApi - axios parameter creator
 * @export
 */
export declare const ClusterTagApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * create tag
     * @summary Create cluster tags
     * @param {string} orgName
     * @param {TagCreate} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createTag: (orgName: string, body: TagCreate, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * delete cluster tag
     * @summary Delete tag
     * @param {string} orgName
     * @param {string} tagId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteTag: (orgName: string, tagId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get cluster tags
     * @param {string} orgName name of the Org
     * @param {string} clusterIds Comma-separated list of cluster IDs
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getTags: (orgName: string, clusterIds: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * List tags by organization name.
     * @summary List tags by organization name
     * @param {string} orgName name of the Org
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listOrgTags: (orgName: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Update cluster tags
     * @param {string} orgName
     * @param {string} tagId
     * @param {TagUpdate} tagUpdate
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateTag: (orgName: string, tagId: string, tagUpdate: TagUpdate, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * ClusterTagApi - functional programming interface
 * @export
 */
export declare const ClusterTagApiFp: (configuration?: Configuration) => {
    /**
     * create tag
     * @summary Create cluster tags
     * @param {string} orgName
     * @param {TagCreate} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createTag(orgName: string, body: TagCreate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TagCreate>>;
    /**
     * delete cluster tag
     * @summary Delete tag
     * @param {string} orgName
     * @param {string} tagId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteTag(orgName: string, tagId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     *
     * @summary Get cluster tags
     * @param {string} orgName name of the Org
     * @param {string} clusterIds Comma-separated list of cluster IDs
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getTags(orgName: string, clusterIds: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ClusterTags>>>;
    /**
     * List tags by organization name.
     * @summary List tags by organization name
     * @param {string} orgName name of the Org
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listOrgTags(orgName: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrgTagsList>>;
    /**
     * Update cluster tags
     * @param {string} orgName
     * @param {string} tagId
     * @param {TagUpdate} tagUpdate
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateTag(orgName: string, tagId: string, tagUpdate: TagUpdate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Tag>>;
};
/**
 * ClusterTagApi - factory interface
 * @export
 */
export declare const ClusterTagApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * create tag
     * @summary Create cluster tags
     * @param {ClusterTagApiCreateTagRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createTag(requestParameters: ClusterTagApiCreateTagRequest, options?: RawAxiosRequestConfig): AxiosPromise<TagCreate>;
    /**
     * delete cluster tag
     * @summary Delete tag
     * @param {ClusterTagApiDeleteTagRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteTag(requestParameters: ClusterTagApiDeleteTagRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     *
     * @summary Get cluster tags
     * @param {ClusterTagApiGetTagsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getTags(requestParameters: ClusterTagApiGetTagsRequest, options?: RawAxiosRequestConfig): AxiosPromise<Array<ClusterTags>>;
    /**
     * List tags by organization name.
     * @summary List tags by organization name
     * @param {ClusterTagApiListOrgTagsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listOrgTags(requestParameters: ClusterTagApiListOrgTagsRequest, options?: RawAxiosRequestConfig): AxiosPromise<OrgTagsList>;
    /**
     * Update cluster tags
     * @param {ClusterTagApiUpdateTagRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateTag(requestParameters: ClusterTagApiUpdateTagRequest, options?: RawAxiosRequestConfig): AxiosPromise<Tag>;
};
/**
 * ClusterTagApi - interface
 * @export
 * @interface ClusterTagApi
 */
export interface ClusterTagApiInterface {
    /**
     * create tag
     * @summary Create cluster tags
     * @param {ClusterTagApiCreateTagRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ClusterTagApiInterface
     */
    createTag(requestParameters: ClusterTagApiCreateTagRequest, options?: RawAxiosRequestConfig): AxiosPromise<TagCreate>;
    /**
     * delete cluster tag
     * @summary Delete tag
     * @param {ClusterTagApiDeleteTagRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ClusterTagApiInterface
     */
    deleteTag(requestParameters: ClusterTagApiDeleteTagRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     *
     * @summary Get cluster tags
     * @param {ClusterTagApiGetTagsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ClusterTagApiInterface
     */
    getTags(requestParameters: ClusterTagApiGetTagsRequest, options?: RawAxiosRequestConfig): AxiosPromise<Array<ClusterTags>>;
    /**
     * List tags by organization name.
     * @summary List tags by organization name
     * @param {ClusterTagApiListOrgTagsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ClusterTagApiInterface
     */
    listOrgTags(requestParameters: ClusterTagApiListOrgTagsRequest, options?: RawAxiosRequestConfig): AxiosPromise<OrgTagsList>;
    /**
     * Update cluster tags
     * @param {ClusterTagApiUpdateTagRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ClusterTagApiInterface
     */
    updateTag(requestParameters: ClusterTagApiUpdateTagRequest, options?: RawAxiosRequestConfig): AxiosPromise<Tag>;
}
/**
 * Request parameters for createTag operation in ClusterTagApi.
 * @export
 * @interface ClusterTagApiCreateTagRequest
 */
export interface ClusterTagApiCreateTagRequest {
    /**
     *
     * @type {string}
     * @memberof ClusterTagApiCreateTag
     */
    readonly orgName: string;
    /**
     *
     * @type {TagCreate}
     * @memberof ClusterTagApiCreateTag
     */
    readonly body: TagCreate;
}
/**
 * Request parameters for deleteTag operation in ClusterTagApi.
 * @export
 * @interface ClusterTagApiDeleteTagRequest
 */
export interface ClusterTagApiDeleteTagRequest {
    /**
     *
     * @type {string}
     * @memberof ClusterTagApiDeleteTag
     */
    readonly orgName: string;
    /**
     *
     * @type {string}
     * @memberof ClusterTagApiDeleteTag
     */
    readonly tagId: string;
}
/**
 * Request parameters for getTags operation in ClusterTagApi.
 * @export
 * @interface ClusterTagApiGetTagsRequest
 */
export interface ClusterTagApiGetTagsRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof ClusterTagApiGetTags
     */
    readonly orgName: string;
    /**
     * Comma-separated list of cluster IDs
     * @type {string}
     * @memberof ClusterTagApiGetTags
     */
    readonly clusterIds: string;
}
/**
 * Request parameters for listOrgTags operation in ClusterTagApi.
 * @export
 * @interface ClusterTagApiListOrgTagsRequest
 */
export interface ClusterTagApiListOrgTagsRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof ClusterTagApiListOrgTags
     */
    readonly orgName: string;
}
/**
 * Request parameters for updateTag operation in ClusterTagApi.
 * @export
 * @interface ClusterTagApiUpdateTagRequest
 */
export interface ClusterTagApiUpdateTagRequest {
    /**
     *
     * @type {string}
     * @memberof ClusterTagApiUpdateTag
     */
    readonly orgName: string;
    /**
     *
     * @type {string}
     * @memberof ClusterTagApiUpdateTag
     */
    readonly tagId: string;
    /**
     *
     * @type {TagUpdate}
     * @memberof ClusterTagApiUpdateTag
     */
    readonly tagUpdate: TagUpdate;
}
/**
 * ClusterTagApi - object-oriented interface
 * @export
 * @class ClusterTagApi
 * @extends {BaseAPI}
 */
export declare class ClusterTagApi extends BaseAPI implements ClusterTagApiInterface {
    /**
     * create tag
     * @summary Create cluster tags
     * @param {ClusterTagApiCreateTagRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ClusterTagApi
     */
    createTag(requestParameters: ClusterTagApiCreateTagRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<TagCreate, any, {}>>;
    /**
     * delete cluster tag
     * @summary Delete tag
     * @param {ClusterTagApiDeleteTagRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ClusterTagApi
     */
    deleteTag(requestParameters: ClusterTagApiDeleteTagRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
    /**
     *
     * @summary Get cluster tags
     * @param {ClusterTagApiGetTagsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ClusterTagApi
     */
    getTags(requestParameters: ClusterTagApiGetTagsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ClusterTags[], any, {}>>;
    /**
     * List tags by organization name.
     * @summary List tags by organization name
     * @param {ClusterTagApiListOrgTagsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ClusterTagApi
     */
    listOrgTags(requestParameters: ClusterTagApiListOrgTagsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OrgTagsList, any, {}>>;
    /**
     * Update cluster tags
     * @param {ClusterTagApiUpdateTagRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ClusterTagApi
     */
    updateTag(requestParameters: ClusterTagApiUpdateTagRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Tag, any, {}>>;
}
//# sourceMappingURL=cluster-tag-api.d.ts.map