/**
 * 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 { CreateIPWhitelistRequest } from '../models';
import type { IpWhitelist } from '../models';
import type { IpWhitelistList } from '../models';
/**
 * IpWhitelistApi - axios parameter creator
 * @export
 */
export declare const IpWhitelistApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Create IP whitelist
     * @param {string} orgName name of the Org
     * @param {string} clusterName name of the Cluster
     * @param {CreateIPWhitelistRequest} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createIPWhitelist: (orgName: string, clusterName: string, body: CreateIPWhitelistRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Delete IP whitelist
     * @param {string} orgName name of the Org
     * @param {string} clusterName name of the Cluster
     * @param {string} ipWhitelistId ID of the IP whitelist
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteIPWhiteList: (orgName: string, clusterName: string, ipWhitelistId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary List IP whitelists
     * @param {string} orgName name of the Org
     * @param {string} clusterName name of the Cluster
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listIPWhitelist: (orgName: string, clusterName: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Update IP whitelist
     * @param {string} orgName name of the Org
     * @param {string} clusterName name of the Cluster
     * @param {string} ipWhitelistId ID of the IP whitelist
     * @param {CreateIPWhitelistRequest} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateIPWhitelist: (orgName: string, clusterName: string, ipWhitelistId: string, body: CreateIPWhitelistRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * IpWhitelistApi - functional programming interface
 * @export
 */
export declare const IpWhitelistApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Create IP whitelist
     * @param {string} orgName name of the Org
     * @param {string} clusterName name of the Cluster
     * @param {CreateIPWhitelistRequest} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createIPWhitelist(orgName: string, clusterName: string, body: CreateIPWhitelistRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<IpWhitelist>>;
    /**
     *
     * @summary Delete IP whitelist
     * @param {string} orgName name of the Org
     * @param {string} clusterName name of the Cluster
     * @param {string} ipWhitelistId ID of the IP whitelist
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteIPWhiteList(orgName: string, clusterName: string, ipWhitelistId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     *
     * @summary List IP whitelists
     * @param {string} orgName name of the Org
     * @param {string} clusterName name of the Cluster
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listIPWhitelist(orgName: string, clusterName: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<IpWhitelistList>>;
    /**
     *
     * @summary Update IP whitelist
     * @param {string} orgName name of the Org
     * @param {string} clusterName name of the Cluster
     * @param {string} ipWhitelistId ID of the IP whitelist
     * @param {CreateIPWhitelistRequest} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateIPWhitelist(orgName: string, clusterName: string, ipWhitelistId: string, body: CreateIPWhitelistRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<IpWhitelist>>;
};
/**
 * IpWhitelistApi - factory interface
 * @export
 */
export declare const IpWhitelistApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Create IP whitelist
     * @param {IpWhitelistApiCreateIPWhitelistRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createIPWhitelist(requestParameters: IpWhitelistApiCreateIPWhitelistRequest, options?: RawAxiosRequestConfig): AxiosPromise<IpWhitelist>;
    /**
     *
     * @summary Delete IP whitelist
     * @param {IpWhitelistApiDeleteIPWhiteListRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteIPWhiteList(requestParameters: IpWhitelistApiDeleteIPWhiteListRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     *
     * @summary List IP whitelists
     * @param {IpWhitelistApiListIPWhitelistRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listIPWhitelist(requestParameters: IpWhitelistApiListIPWhitelistRequest, options?: RawAxiosRequestConfig): AxiosPromise<IpWhitelistList>;
    /**
     *
     * @summary Update IP whitelist
     * @param {IpWhitelistApiUpdateIPWhitelistRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateIPWhitelist(requestParameters: IpWhitelistApiUpdateIPWhitelistRequest, options?: RawAxiosRequestConfig): AxiosPromise<IpWhitelist>;
};
/**
 * IpWhitelistApi - interface
 * @export
 * @interface IpWhitelistApi
 */
export interface IpWhitelistApiInterface {
    /**
     *
     * @summary Create IP whitelist
     * @param {IpWhitelistApiCreateIPWhitelistRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IpWhitelistApiInterface
     */
    createIPWhitelist(requestParameters: IpWhitelistApiCreateIPWhitelistRequest, options?: RawAxiosRequestConfig): AxiosPromise<IpWhitelist>;
    /**
     *
     * @summary Delete IP whitelist
     * @param {IpWhitelistApiDeleteIPWhiteListRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IpWhitelistApiInterface
     */
    deleteIPWhiteList(requestParameters: IpWhitelistApiDeleteIPWhiteListRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     *
     * @summary List IP whitelists
     * @param {IpWhitelistApiListIPWhitelistRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IpWhitelistApiInterface
     */
    listIPWhitelist(requestParameters: IpWhitelistApiListIPWhitelistRequest, options?: RawAxiosRequestConfig): AxiosPromise<IpWhitelistList>;
    /**
     *
     * @summary Update IP whitelist
     * @param {IpWhitelistApiUpdateIPWhitelistRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IpWhitelistApiInterface
     */
    updateIPWhitelist(requestParameters: IpWhitelistApiUpdateIPWhitelistRequest, options?: RawAxiosRequestConfig): AxiosPromise<IpWhitelist>;
}
/**
 * Request parameters for createIPWhitelist operation in IpWhitelistApi.
 * @export
 * @interface IpWhitelistApiCreateIPWhitelistRequest
 */
export interface IpWhitelistApiCreateIPWhitelistRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof IpWhitelistApiCreateIPWhitelist
     */
    readonly orgName: string;
    /**
     * name of the Cluster
     * @type {string}
     * @memberof IpWhitelistApiCreateIPWhitelist
     */
    readonly clusterName: string;
    /**
     *
     * @type {CreateIPWhitelistRequest}
     * @memberof IpWhitelistApiCreateIPWhitelist
     */
    readonly body: CreateIPWhitelistRequest;
}
/**
 * Request parameters for deleteIPWhiteList operation in IpWhitelistApi.
 * @export
 * @interface IpWhitelistApiDeleteIPWhiteListRequest
 */
export interface IpWhitelistApiDeleteIPWhiteListRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof IpWhitelistApiDeleteIPWhiteList
     */
    readonly orgName: string;
    /**
     * name of the Cluster
     * @type {string}
     * @memberof IpWhitelistApiDeleteIPWhiteList
     */
    readonly clusterName: string;
    /**
     * ID of the IP whitelist
     * @type {string}
     * @memberof IpWhitelistApiDeleteIPWhiteList
     */
    readonly ipWhitelistId: string;
}
/**
 * Request parameters for listIPWhitelist operation in IpWhitelistApi.
 * @export
 * @interface IpWhitelistApiListIPWhitelistRequest
 */
export interface IpWhitelistApiListIPWhitelistRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof IpWhitelistApiListIPWhitelist
     */
    readonly orgName: string;
    /**
     * name of the Cluster
     * @type {string}
     * @memberof IpWhitelistApiListIPWhitelist
     */
    readonly clusterName: string;
}
/**
 * Request parameters for updateIPWhitelist operation in IpWhitelistApi.
 * @export
 * @interface IpWhitelistApiUpdateIPWhitelistRequest
 */
export interface IpWhitelistApiUpdateIPWhitelistRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof IpWhitelistApiUpdateIPWhitelist
     */
    readonly orgName: string;
    /**
     * name of the Cluster
     * @type {string}
     * @memberof IpWhitelistApiUpdateIPWhitelist
     */
    readonly clusterName: string;
    /**
     * ID of the IP whitelist
     * @type {string}
     * @memberof IpWhitelistApiUpdateIPWhitelist
     */
    readonly ipWhitelistId: string;
    /**
     *
     * @type {CreateIPWhitelistRequest}
     * @memberof IpWhitelistApiUpdateIPWhitelist
     */
    readonly body: CreateIPWhitelistRequest;
}
/**
 * IpWhitelistApi - object-oriented interface
 * @export
 * @class IpWhitelistApi
 * @extends {BaseAPI}
 */
export declare class IpWhitelistApi extends BaseAPI implements IpWhitelistApiInterface {
    /**
     *
     * @summary Create IP whitelist
     * @param {IpWhitelistApiCreateIPWhitelistRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IpWhitelistApi
     */
    createIPWhitelist(requestParameters: IpWhitelistApiCreateIPWhitelistRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<IpWhitelist, any, {}>>;
    /**
     *
     * @summary Delete IP whitelist
     * @param {IpWhitelistApiDeleteIPWhiteListRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IpWhitelistApi
     */
    deleteIPWhiteList(requestParameters: IpWhitelistApiDeleteIPWhiteListRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
    /**
     *
     * @summary List IP whitelists
     * @param {IpWhitelistApiListIPWhitelistRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IpWhitelistApi
     */
    listIPWhitelist(requestParameters: IpWhitelistApiListIPWhitelistRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<IpWhitelistList, any, {}>>;
    /**
     *
     * @summary Update IP whitelist
     * @param {IpWhitelistApiUpdateIPWhitelistRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IpWhitelistApi
     */
    updateIPWhitelist(requestParameters: IpWhitelistApiUpdateIPWhitelistRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<IpWhitelist, any, {}>>;
}
//# sourceMappingURL=ip-whitelist-api.d.ts.map