/**
 * 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 { AlertReceiver } from '../models';
import type { AlertReceiverCategory } from '../models';
import type { AlertReceiverList } from '../models';
/**
 * AlertReceiverApi - axios parameter creator
 * @export
 */
export declare const AlertReceiverApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Create alert receiver
     * @param {string} orgName name of the Org
     * @param {AlertReceiverCategory} category alert receiver category
     * @param {AlertReceiver} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createAlertReceiver: (orgName: string, category: AlertReceiverCategory, body: AlertReceiver, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Delete alert receiver
     * @param {string} orgName name of the Org
     * @param {string} receiverId id of the alert receivers
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteAlertReceiver: (orgName: string, receiverId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get alert receiver
     * @param {string} orgName name of the Org
     * @param {string} receiverId id of the alert receivers
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAlertReceiver: (orgName: string, receiverId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary List alert receivers
     * @param {string} orgName name of the Org
     * @param {AlertReceiverCategory} [category] alert receiver category
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listAlertReceivers: (orgName: string, category?: AlertReceiverCategory, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * partially update the alert receiver
     * @summary Update alert receiver
     * @param {string} orgName name of the Org
     * @param {string} receiverId id of the alert receivers
     * @param {AlertReceiver} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    patchAlertReceiver: (orgName: string, receiverId: string, body: AlertReceiver, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * AlertReceiverApi - functional programming interface
 * @export
 */
export declare const AlertReceiverApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Create alert receiver
     * @param {string} orgName name of the Org
     * @param {AlertReceiverCategory} category alert receiver category
     * @param {AlertReceiver} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createAlertReceiver(orgName: string, category: AlertReceiverCategory, body: AlertReceiver, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AlertReceiver>>;
    /**
     *
     * @summary Delete alert receiver
     * @param {string} orgName name of the Org
     * @param {string} receiverId id of the alert receivers
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteAlertReceiver(orgName: string, receiverId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     *
     * @summary Get alert receiver
     * @param {string} orgName name of the Org
     * @param {string} receiverId id of the alert receivers
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAlertReceiver(orgName: string, receiverId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AlertReceiver>>;
    /**
     *
     * @summary List alert receivers
     * @param {string} orgName name of the Org
     * @param {AlertReceiverCategory} [category] alert receiver category
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listAlertReceivers(orgName: string, category?: AlertReceiverCategory, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AlertReceiverList>>;
    /**
     * partially update the alert receiver
     * @summary Update alert receiver
     * @param {string} orgName name of the Org
     * @param {string} receiverId id of the alert receivers
     * @param {AlertReceiver} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    patchAlertReceiver(orgName: string, receiverId: string, body: AlertReceiver, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AlertReceiver>>;
};
/**
 * AlertReceiverApi - factory interface
 * @export
 */
export declare const AlertReceiverApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Create alert receiver
     * @param {AlertReceiverApiCreateAlertReceiverRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createAlertReceiver(requestParameters: AlertReceiverApiCreateAlertReceiverRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertReceiver>;
    /**
     *
     * @summary Delete alert receiver
     * @param {AlertReceiverApiDeleteAlertReceiverRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteAlertReceiver(requestParameters: AlertReceiverApiDeleteAlertReceiverRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     *
     * @summary Get alert receiver
     * @param {AlertReceiverApiGetAlertReceiverRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAlertReceiver(requestParameters: AlertReceiverApiGetAlertReceiverRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertReceiver>;
    /**
     *
     * @summary List alert receivers
     * @param {AlertReceiverApiListAlertReceiversRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listAlertReceivers(requestParameters: AlertReceiverApiListAlertReceiversRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertReceiverList>;
    /**
     * partially update the alert receiver
     * @summary Update alert receiver
     * @param {AlertReceiverApiPatchAlertReceiverRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    patchAlertReceiver(requestParameters: AlertReceiverApiPatchAlertReceiverRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertReceiver>;
};
/**
 * AlertReceiverApi - interface
 * @export
 * @interface AlertReceiverApi
 */
export interface AlertReceiverApiInterface {
    /**
     *
     * @summary Create alert receiver
     * @param {AlertReceiverApiCreateAlertReceiverRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertReceiverApiInterface
     */
    createAlertReceiver(requestParameters: AlertReceiverApiCreateAlertReceiverRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertReceiver>;
    /**
     *
     * @summary Delete alert receiver
     * @param {AlertReceiverApiDeleteAlertReceiverRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertReceiverApiInterface
     */
    deleteAlertReceiver(requestParameters: AlertReceiverApiDeleteAlertReceiverRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     *
     * @summary Get alert receiver
     * @param {AlertReceiverApiGetAlertReceiverRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertReceiverApiInterface
     */
    getAlertReceiver(requestParameters: AlertReceiverApiGetAlertReceiverRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertReceiver>;
    /**
     *
     * @summary List alert receivers
     * @param {AlertReceiverApiListAlertReceiversRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertReceiverApiInterface
     */
    listAlertReceivers(requestParameters: AlertReceiverApiListAlertReceiversRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertReceiverList>;
    /**
     * partially update the alert receiver
     * @summary Update alert receiver
     * @param {AlertReceiverApiPatchAlertReceiverRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertReceiverApiInterface
     */
    patchAlertReceiver(requestParameters: AlertReceiverApiPatchAlertReceiverRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertReceiver>;
}
/**
 * Request parameters for createAlertReceiver operation in AlertReceiverApi.
 * @export
 * @interface AlertReceiverApiCreateAlertReceiverRequest
 */
export interface AlertReceiverApiCreateAlertReceiverRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof AlertReceiverApiCreateAlertReceiver
     */
    readonly orgName: string;
    /**
     * alert receiver category
     * @type {AlertReceiverCategory}
     * @memberof AlertReceiverApiCreateAlertReceiver
     */
    readonly category: AlertReceiverCategory;
    /**
     *
     * @type {AlertReceiver}
     * @memberof AlertReceiverApiCreateAlertReceiver
     */
    readonly body: AlertReceiver;
}
/**
 * Request parameters for deleteAlertReceiver operation in AlertReceiverApi.
 * @export
 * @interface AlertReceiverApiDeleteAlertReceiverRequest
 */
export interface AlertReceiverApiDeleteAlertReceiverRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof AlertReceiverApiDeleteAlertReceiver
     */
    readonly orgName: string;
    /**
     * id of the alert receivers
     * @type {string}
     * @memberof AlertReceiverApiDeleteAlertReceiver
     */
    readonly receiverId: string;
}
/**
 * Request parameters for getAlertReceiver operation in AlertReceiverApi.
 * @export
 * @interface AlertReceiverApiGetAlertReceiverRequest
 */
export interface AlertReceiverApiGetAlertReceiverRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof AlertReceiverApiGetAlertReceiver
     */
    readonly orgName: string;
    /**
     * id of the alert receivers
     * @type {string}
     * @memberof AlertReceiverApiGetAlertReceiver
     */
    readonly receiverId: string;
}
/**
 * Request parameters for listAlertReceivers operation in AlertReceiverApi.
 * @export
 * @interface AlertReceiverApiListAlertReceiversRequest
 */
export interface AlertReceiverApiListAlertReceiversRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof AlertReceiverApiListAlertReceivers
     */
    readonly orgName: string;
    /**
     * alert receiver category
     * @type {AlertReceiverCategory}
     * @memberof AlertReceiverApiListAlertReceivers
     */
    readonly category?: AlertReceiverCategory;
}
/**
 * Request parameters for patchAlertReceiver operation in AlertReceiverApi.
 * @export
 * @interface AlertReceiverApiPatchAlertReceiverRequest
 */
export interface AlertReceiverApiPatchAlertReceiverRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof AlertReceiverApiPatchAlertReceiver
     */
    readonly orgName: string;
    /**
     * id of the alert receivers
     * @type {string}
     * @memberof AlertReceiverApiPatchAlertReceiver
     */
    readonly receiverId: string;
    /**
     *
     * @type {AlertReceiver}
     * @memberof AlertReceiverApiPatchAlertReceiver
     */
    readonly body: AlertReceiver;
}
/**
 * AlertReceiverApi - object-oriented interface
 * @export
 * @class AlertReceiverApi
 * @extends {BaseAPI}
 */
export declare class AlertReceiverApi extends BaseAPI implements AlertReceiverApiInterface {
    /**
     *
     * @summary Create alert receiver
     * @param {AlertReceiverApiCreateAlertReceiverRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertReceiverApi
     */
    createAlertReceiver(requestParameters: AlertReceiverApiCreateAlertReceiverRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AlertReceiver, any, {}>>;
    /**
     *
     * @summary Delete alert receiver
     * @param {AlertReceiverApiDeleteAlertReceiverRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertReceiverApi
     */
    deleteAlertReceiver(requestParameters: AlertReceiverApiDeleteAlertReceiverRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
    /**
     *
     * @summary Get alert receiver
     * @param {AlertReceiverApiGetAlertReceiverRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertReceiverApi
     */
    getAlertReceiver(requestParameters: AlertReceiverApiGetAlertReceiverRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AlertReceiver, any, {}>>;
    /**
     *
     * @summary List alert receivers
     * @param {AlertReceiverApiListAlertReceiversRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertReceiverApi
     */
    listAlertReceivers(requestParameters: AlertReceiverApiListAlertReceiversRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AlertReceiverList, any, {}>>;
    /**
     * partially update the alert receiver
     * @summary Update alert receiver
     * @param {AlertReceiverApiPatchAlertReceiverRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertReceiverApi
     */
    patchAlertReceiver(requestParameters: AlertReceiverApiPatchAlertReceiverRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AlertReceiver, any, {}>>;
}
//# sourceMappingURL=alert-receiver-api.d.ts.map