/**
 * 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 { OrgMember } from '../models';
import type { OrgMemberAdd } from '../models';
import type { OrgMemberList } from '../models';
import type { OrgMemberUpdate } from '../models';
import type { PermissionList } from '../models';
/**
 * MemberApi - axios parameter creator
 * @export
 */
export declare const MemberApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Add organization with specific role
     * @summary Add member
     * @param {string} orgName Name of the Org
     * @param {OrgMemberAdd} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    addOrgMember: (orgName: string, body: OrgMemberAdd, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * delete a Org Member
     * @summary Delete member
     * @param {string} orgName Name of the Org
     * @param {string} memberId ID of the member
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteOrgMember: (orgName: string, memberId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * list members of the specified Org
     * @summary List members
     * @param {string} orgName Name of the Org
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listOrgMember: (orgName: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary List permissions of a member
     * @param {string} orgName The name of the organization
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listOrgMemberPermission: (orgName: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Only authenticated organization admins can update the member\'s role
     * @summary Update member role
     * @param {string} orgName name of the Org
     * @param {string} memberId ID of the member
     * @param {OrgMemberUpdate} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    patchOrgMember: (orgName: string, memberId: string, body: OrgMemberUpdate, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * read the specified OrgMember
     * @summary Get member
     * @param {string} orgName name of the Org
     * @param {string} memberId ID of the member
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readOrgMember: (orgName: string, memberId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * MemberApi - functional programming interface
 * @export
 */
export declare const MemberApiFp: (configuration?: Configuration) => {
    /**
     * Add organization with specific role
     * @summary Add member
     * @param {string} orgName Name of the Org
     * @param {OrgMemberAdd} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    addOrgMember(orgName: string, body: OrgMemberAdd, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrgMember>>;
    /**
     * delete a Org Member
     * @summary Delete member
     * @param {string} orgName Name of the Org
     * @param {string} memberId ID of the member
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteOrgMember(orgName: string, memberId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     * list members of the specified Org
     * @summary List members
     * @param {string} orgName Name of the Org
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listOrgMember(orgName: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrgMemberList>>;
    /**
     *
     * @summary List permissions of a member
     * @param {string} orgName The name of the organization
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listOrgMemberPermission(orgName: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PermissionList>>;
    /**
     * Only authenticated organization admins can update the member\'s role
     * @summary Update member role
     * @param {string} orgName name of the Org
     * @param {string} memberId ID of the member
     * @param {OrgMemberUpdate} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    patchOrgMember(orgName: string, memberId: string, body: OrgMemberUpdate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrgMember>>;
    /**
     * read the specified OrgMember
     * @summary Get member
     * @param {string} orgName name of the Org
     * @param {string} memberId ID of the member
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readOrgMember(orgName: string, memberId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrgMember>>;
};
/**
 * MemberApi - factory interface
 * @export
 */
export declare const MemberApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Add organization with specific role
     * @summary Add member
     * @param {MemberApiAddOrgMemberRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    addOrgMember(requestParameters: MemberApiAddOrgMemberRequest, options?: RawAxiosRequestConfig): AxiosPromise<OrgMember>;
    /**
     * delete a Org Member
     * @summary Delete member
     * @param {MemberApiDeleteOrgMemberRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteOrgMember(requestParameters: MemberApiDeleteOrgMemberRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     * list members of the specified Org
     * @summary List members
     * @param {MemberApiListOrgMemberRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listOrgMember(requestParameters: MemberApiListOrgMemberRequest, options?: RawAxiosRequestConfig): AxiosPromise<OrgMemberList>;
    /**
     *
     * @summary List permissions of a member
     * @param {MemberApiListOrgMemberPermissionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listOrgMemberPermission(requestParameters: MemberApiListOrgMemberPermissionRequest, options?: RawAxiosRequestConfig): AxiosPromise<PermissionList>;
    /**
     * Only authenticated organization admins can update the member\'s role
     * @summary Update member role
     * @param {MemberApiPatchOrgMemberRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    patchOrgMember(requestParameters: MemberApiPatchOrgMemberRequest, options?: RawAxiosRequestConfig): AxiosPromise<OrgMember>;
    /**
     * read the specified OrgMember
     * @summary Get member
     * @param {MemberApiReadOrgMemberRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readOrgMember(requestParameters: MemberApiReadOrgMemberRequest, options?: RawAxiosRequestConfig): AxiosPromise<OrgMember>;
};
/**
 * MemberApi - interface
 * @export
 * @interface MemberApi
 */
export interface MemberApiInterface {
    /**
     * Add organization with specific role
     * @summary Add member
     * @param {MemberApiAddOrgMemberRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MemberApiInterface
     */
    addOrgMember(requestParameters: MemberApiAddOrgMemberRequest, options?: RawAxiosRequestConfig): AxiosPromise<OrgMember>;
    /**
     * delete a Org Member
     * @summary Delete member
     * @param {MemberApiDeleteOrgMemberRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MemberApiInterface
     */
    deleteOrgMember(requestParameters: MemberApiDeleteOrgMemberRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     * list members of the specified Org
     * @summary List members
     * @param {MemberApiListOrgMemberRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MemberApiInterface
     */
    listOrgMember(requestParameters: MemberApiListOrgMemberRequest, options?: RawAxiosRequestConfig): AxiosPromise<OrgMemberList>;
    /**
     *
     * @summary List permissions of a member
     * @param {MemberApiListOrgMemberPermissionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MemberApiInterface
     */
    listOrgMemberPermission(requestParameters: MemberApiListOrgMemberPermissionRequest, options?: RawAxiosRequestConfig): AxiosPromise<PermissionList>;
    /**
     * Only authenticated organization admins can update the member\'s role
     * @summary Update member role
     * @param {MemberApiPatchOrgMemberRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MemberApiInterface
     */
    patchOrgMember(requestParameters: MemberApiPatchOrgMemberRequest, options?: RawAxiosRequestConfig): AxiosPromise<OrgMember>;
    /**
     * read the specified OrgMember
     * @summary Get member
     * @param {MemberApiReadOrgMemberRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MemberApiInterface
     */
    readOrgMember(requestParameters: MemberApiReadOrgMemberRequest, options?: RawAxiosRequestConfig): AxiosPromise<OrgMember>;
}
/**
 * Request parameters for addOrgMember operation in MemberApi.
 * @export
 * @interface MemberApiAddOrgMemberRequest
 */
export interface MemberApiAddOrgMemberRequest {
    /**
     * Name of the Org
     * @type {string}
     * @memberof MemberApiAddOrgMember
     */
    readonly orgName: string;
    /**
     *
     * @type {OrgMemberAdd}
     * @memberof MemberApiAddOrgMember
     */
    readonly body: OrgMemberAdd;
}
/**
 * Request parameters for deleteOrgMember operation in MemberApi.
 * @export
 * @interface MemberApiDeleteOrgMemberRequest
 */
export interface MemberApiDeleteOrgMemberRequest {
    /**
     * Name of the Org
     * @type {string}
     * @memberof MemberApiDeleteOrgMember
     */
    readonly orgName: string;
    /**
     * ID of the member
     * @type {string}
     * @memberof MemberApiDeleteOrgMember
     */
    readonly memberId: string;
}
/**
 * Request parameters for listOrgMember operation in MemberApi.
 * @export
 * @interface MemberApiListOrgMemberRequest
 */
export interface MemberApiListOrgMemberRequest {
    /**
     * Name of the Org
     * @type {string}
     * @memberof MemberApiListOrgMember
     */
    readonly orgName: string;
}
/**
 * Request parameters for listOrgMemberPermission operation in MemberApi.
 * @export
 * @interface MemberApiListOrgMemberPermissionRequest
 */
export interface MemberApiListOrgMemberPermissionRequest {
    /**
     * The name of the organization
     * @type {string}
     * @memberof MemberApiListOrgMemberPermission
     */
    readonly orgName: string;
}
/**
 * Request parameters for patchOrgMember operation in MemberApi.
 * @export
 * @interface MemberApiPatchOrgMemberRequest
 */
export interface MemberApiPatchOrgMemberRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof MemberApiPatchOrgMember
     */
    readonly orgName: string;
    /**
     * ID of the member
     * @type {string}
     * @memberof MemberApiPatchOrgMember
     */
    readonly memberId: string;
    /**
     *
     * @type {OrgMemberUpdate}
     * @memberof MemberApiPatchOrgMember
     */
    readonly body: OrgMemberUpdate;
}
/**
 * Request parameters for readOrgMember operation in MemberApi.
 * @export
 * @interface MemberApiReadOrgMemberRequest
 */
export interface MemberApiReadOrgMemberRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof MemberApiReadOrgMember
     */
    readonly orgName: string;
    /**
     * ID of the member
     * @type {string}
     * @memberof MemberApiReadOrgMember
     */
    readonly memberId: string;
}
/**
 * MemberApi - object-oriented interface
 * @export
 * @class MemberApi
 * @extends {BaseAPI}
 */
export declare class MemberApi extends BaseAPI implements MemberApiInterface {
    /**
     * Add organization with specific role
     * @summary Add member
     * @param {MemberApiAddOrgMemberRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MemberApi
     */
    addOrgMember(requestParameters: MemberApiAddOrgMemberRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OrgMember, any, {}>>;
    /**
     * delete a Org Member
     * @summary Delete member
     * @param {MemberApiDeleteOrgMemberRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MemberApi
     */
    deleteOrgMember(requestParameters: MemberApiDeleteOrgMemberRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
    /**
     * list members of the specified Org
     * @summary List members
     * @param {MemberApiListOrgMemberRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MemberApi
     */
    listOrgMember(requestParameters: MemberApiListOrgMemberRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OrgMemberList, any, {}>>;
    /**
     *
     * @summary List permissions of a member
     * @param {MemberApiListOrgMemberPermissionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MemberApi
     */
    listOrgMemberPermission(requestParameters: MemberApiListOrgMemberPermissionRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PermissionList, any, {}>>;
    /**
     * Only authenticated organization admins can update the member\'s role
     * @summary Update member role
     * @param {MemberApiPatchOrgMemberRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MemberApi
     */
    patchOrgMember(requestParameters: MemberApiPatchOrgMemberRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OrgMember, any, {}>>;
    /**
     * read the specified OrgMember
     * @summary Get member
     * @param {MemberApiReadOrgMemberRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MemberApi
     */
    readOrgMember(requestParameters: MemberApiReadOrgMemberRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OrgMember, any, {}>>;
}
//# sourceMappingURL=member-api.d.ts.map