/**
 * 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 { AlertRule } from '../models';
import type { AlertRuleList } from '../models';
import type { RestoreOrgAlertRuleToDefault200Response } from '../models';
/**
 * AlertRuleApi - axios parameter creator
 * @export
 */
export declare const AlertRuleApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Create alert rule
     * @param {AlertRule} body
     * @param {boolean} [disabled] disabled status
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createAlertRule: (body: AlertRule, disabled?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Delete alert rule
     * @param {string} alertName name of the alert rule
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteAlertRule: (alertName: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get alert rule
     * @param {string} alertName name of the alert rule
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAlertRule: (alertName: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary List alert rules
     * @param {boolean} [disabled] disabled status
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listAlertRules: (disabled?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Restores the alert rule configuration for a specific organization to the system default settings.
     * @summary Restore organization\'s alert rule configuration to defaults
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    restoreOrgAlertRuleToDefault: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @param {AlertRule} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateAlertRule: (body: AlertRule, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * AlertRuleApi - functional programming interface
 * @export
 */
export declare const AlertRuleApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Create alert rule
     * @param {AlertRule} body
     * @param {boolean} [disabled] disabled status
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createAlertRule(body: AlertRule, disabled?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AlertRule>>;
    /**
     *
     * @summary Delete alert rule
     * @param {string} alertName name of the alert rule
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteAlertRule(alertName: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     *
     * @summary Get alert rule
     * @param {string} alertName name of the alert rule
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAlertRule(alertName: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AlertRule>>;
    /**
     *
     * @summary List alert rules
     * @param {boolean} [disabled] disabled status
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listAlertRules(disabled?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AlertRuleList>>;
    /**
     * Restores the alert rule configuration for a specific organization to the system default settings.
     * @summary Restore organization\'s alert rule configuration to defaults
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    restoreOrgAlertRuleToDefault(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RestoreOrgAlertRuleToDefault200Response>>;
    /**
     *
     * @param {AlertRule} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateAlertRule(body: AlertRule, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AlertRule>>;
};
/**
 * AlertRuleApi - factory interface
 * @export
 */
export declare const AlertRuleApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Create alert rule
     * @param {AlertRuleApiCreateAlertRuleRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createAlertRule(requestParameters: AlertRuleApiCreateAlertRuleRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertRule>;
    /**
     *
     * @summary Delete alert rule
     * @param {AlertRuleApiDeleteAlertRuleRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteAlertRule(requestParameters: AlertRuleApiDeleteAlertRuleRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     *
     * @summary Get alert rule
     * @param {AlertRuleApiGetAlertRuleRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAlertRule(requestParameters: AlertRuleApiGetAlertRuleRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertRule>;
    /**
     *
     * @summary List alert rules
     * @param {AlertRuleApiListAlertRulesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listAlertRules(requestParameters?: AlertRuleApiListAlertRulesRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertRuleList>;
    /**
     * Restores the alert rule configuration for a specific organization to the system default settings.
     * @summary Restore organization\'s alert rule configuration to defaults
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    restoreOrgAlertRuleToDefault(options?: RawAxiosRequestConfig): AxiosPromise<RestoreOrgAlertRuleToDefault200Response>;
    /**
     *
     * @param {AlertRuleApiUpdateAlertRuleRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateAlertRule(requestParameters: AlertRuleApiUpdateAlertRuleRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertRule>;
};
/**
 * AlertRuleApi - interface
 * @export
 * @interface AlertRuleApi
 */
export interface AlertRuleApiInterface {
    /**
     *
     * @summary Create alert rule
     * @param {AlertRuleApiCreateAlertRuleRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertRuleApiInterface
     */
    createAlertRule(requestParameters: AlertRuleApiCreateAlertRuleRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertRule>;
    /**
     *
     * @summary Delete alert rule
     * @param {AlertRuleApiDeleteAlertRuleRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertRuleApiInterface
     */
    deleteAlertRule(requestParameters: AlertRuleApiDeleteAlertRuleRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     *
     * @summary Get alert rule
     * @param {AlertRuleApiGetAlertRuleRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertRuleApiInterface
     */
    getAlertRule(requestParameters: AlertRuleApiGetAlertRuleRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertRule>;
    /**
     *
     * @summary List alert rules
     * @param {AlertRuleApiListAlertRulesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertRuleApiInterface
     */
    listAlertRules(requestParameters?: AlertRuleApiListAlertRulesRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertRuleList>;
    /**
     * Restores the alert rule configuration for a specific organization to the system default settings.
     * @summary Restore organization\'s alert rule configuration to defaults
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertRuleApiInterface
     */
    restoreOrgAlertRuleToDefault(options?: RawAxiosRequestConfig): AxiosPromise<RestoreOrgAlertRuleToDefault200Response>;
    /**
     *
     * @param {AlertRuleApiUpdateAlertRuleRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertRuleApiInterface
     */
    updateAlertRule(requestParameters: AlertRuleApiUpdateAlertRuleRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertRule>;
}
/**
 * Request parameters for createAlertRule operation in AlertRuleApi.
 * @export
 * @interface AlertRuleApiCreateAlertRuleRequest
 */
export interface AlertRuleApiCreateAlertRuleRequest {
    /**
     *
     * @type {AlertRule}
     * @memberof AlertRuleApiCreateAlertRule
     */
    readonly body: AlertRule;
    /**
     * disabled status
     * @type {boolean}
     * @memberof AlertRuleApiCreateAlertRule
     */
    readonly disabled?: boolean;
}
/**
 * Request parameters for deleteAlertRule operation in AlertRuleApi.
 * @export
 * @interface AlertRuleApiDeleteAlertRuleRequest
 */
export interface AlertRuleApiDeleteAlertRuleRequest {
    /**
     * name of the alert rule
     * @type {string}
     * @memberof AlertRuleApiDeleteAlertRule
     */
    readonly alertName: string;
}
/**
 * Request parameters for getAlertRule operation in AlertRuleApi.
 * @export
 * @interface AlertRuleApiGetAlertRuleRequest
 */
export interface AlertRuleApiGetAlertRuleRequest {
    /**
     * name of the alert rule
     * @type {string}
     * @memberof AlertRuleApiGetAlertRule
     */
    readonly alertName: string;
}
/**
 * Request parameters for listAlertRules operation in AlertRuleApi.
 * @export
 * @interface AlertRuleApiListAlertRulesRequest
 */
export interface AlertRuleApiListAlertRulesRequest {
    /**
     * disabled status
     * @type {boolean}
     * @memberof AlertRuleApiListAlertRules
     */
    readonly disabled?: boolean;
}
/**
 * Request parameters for updateAlertRule operation in AlertRuleApi.
 * @export
 * @interface AlertRuleApiUpdateAlertRuleRequest
 */
export interface AlertRuleApiUpdateAlertRuleRequest {
    /**
     *
     * @type {AlertRule}
     * @memberof AlertRuleApiUpdateAlertRule
     */
    readonly body: AlertRule;
}
/**
 * AlertRuleApi - object-oriented interface
 * @export
 * @class AlertRuleApi
 * @extends {BaseAPI}
 */
export declare class AlertRuleApi extends BaseAPI implements AlertRuleApiInterface {
    /**
     *
     * @summary Create alert rule
     * @param {AlertRuleApiCreateAlertRuleRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertRuleApi
     */
    createAlertRule(requestParameters: AlertRuleApiCreateAlertRuleRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AlertRule, any, {}>>;
    /**
     *
     * @summary Delete alert rule
     * @param {AlertRuleApiDeleteAlertRuleRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertRuleApi
     */
    deleteAlertRule(requestParameters: AlertRuleApiDeleteAlertRuleRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
    /**
     *
     * @summary Get alert rule
     * @param {AlertRuleApiGetAlertRuleRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertRuleApi
     */
    getAlertRule(requestParameters: AlertRuleApiGetAlertRuleRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AlertRule, any, {}>>;
    /**
     *
     * @summary List alert rules
     * @param {AlertRuleApiListAlertRulesRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertRuleApi
     */
    listAlertRules(requestParameters?: AlertRuleApiListAlertRulesRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AlertRuleList, any, {}>>;
    /**
     * Restores the alert rule configuration for a specific organization to the system default settings.
     * @summary Restore organization\'s alert rule configuration to defaults
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertRuleApi
     */
    restoreOrgAlertRuleToDefault(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<RestoreOrgAlertRuleToDefault200Response, any, {}>>;
    /**
     *
     * @param {AlertRuleApiUpdateAlertRuleRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertRuleApi
     */
    updateAlertRule(requestParameters: AlertRuleApiUpdateAlertRuleRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AlertRule, any, {}>>;
}
//# sourceMappingURL=alert-rule-api.d.ts.map