/**
 * 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 { AlertTemplate } from '../models';
import type { AlertTemplateList } from '../models';
/**
 * AlertTemplateApi - axios parameter creator
 * @export
 */
export declare const AlertTemplateApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Create alert template
     * @param {AlertTemplate} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createAlertTemplate: (body: AlertTemplate, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Delete alert template
     * @param {string} templateId id of the alert tmpl configuration
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteAlertTemplate: (templateId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get alert template
     * @param {string} templateId id of the alert tmpl configuration
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAlertTemplate: (templateId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary List alert templates
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listAlertTemplates: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * partially update the alert receiver
     * @summary Update alert template
     * @param {string} templateId id of the alert tmpl configuration
     * @param {AlertTemplate} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    patchAlertTemplate: (templateId: string, body: AlertTemplate, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * AlertTemplateApi - functional programming interface
 * @export
 */
export declare const AlertTemplateApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Create alert template
     * @param {AlertTemplate} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createAlertTemplate(body: AlertTemplate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AlertTemplate>>;
    /**
     *
     * @summary Delete alert template
     * @param {string} templateId id of the alert tmpl configuration
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteAlertTemplate(templateId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>>;
    /**
     *
     * @summary Get alert template
     * @param {string} templateId id of the alert tmpl configuration
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAlertTemplate(templateId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AlertTemplate>>;
    /**
     *
     * @summary List alert templates
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listAlertTemplates(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AlertTemplateList>>;
    /**
     * partially update the alert receiver
     * @summary Update alert template
     * @param {string} templateId id of the alert tmpl configuration
     * @param {AlertTemplate} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    patchAlertTemplate(templateId: string, body: AlertTemplate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AlertTemplate>>;
};
/**
 * AlertTemplateApi - factory interface
 * @export
 */
export declare const AlertTemplateApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Create alert template
     * @param {AlertTemplateApiCreateAlertTemplateRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createAlertTemplate(requestParameters: AlertTemplateApiCreateAlertTemplateRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertTemplate>;
    /**
     *
     * @summary Delete alert template
     * @param {AlertTemplateApiDeleteAlertTemplateRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteAlertTemplate(requestParameters: AlertTemplateApiDeleteAlertTemplateRequest, options?: RawAxiosRequestConfig): AxiosPromise<object>;
    /**
     *
     * @summary Get alert template
     * @param {AlertTemplateApiGetAlertTemplateRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAlertTemplate(requestParameters: AlertTemplateApiGetAlertTemplateRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertTemplate>;
    /**
     *
     * @summary List alert templates
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listAlertTemplates(options?: RawAxiosRequestConfig): AxiosPromise<AlertTemplateList>;
    /**
     * partially update the alert receiver
     * @summary Update alert template
     * @param {AlertTemplateApiPatchAlertTemplateRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    patchAlertTemplate(requestParameters: AlertTemplateApiPatchAlertTemplateRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertTemplate>;
};
/**
 * AlertTemplateApi - interface
 * @export
 * @interface AlertTemplateApi
 */
export interface AlertTemplateApiInterface {
    /**
     *
     * @summary Create alert template
     * @param {AlertTemplateApiCreateAlertTemplateRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertTemplateApiInterface
     */
    createAlertTemplate(requestParameters: AlertTemplateApiCreateAlertTemplateRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertTemplate>;
    /**
     *
     * @summary Delete alert template
     * @param {AlertTemplateApiDeleteAlertTemplateRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertTemplateApiInterface
     */
    deleteAlertTemplate(requestParameters: AlertTemplateApiDeleteAlertTemplateRequest, options?: RawAxiosRequestConfig): AxiosPromise<object>;
    /**
     *
     * @summary Get alert template
     * @param {AlertTemplateApiGetAlertTemplateRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertTemplateApiInterface
     */
    getAlertTemplate(requestParameters: AlertTemplateApiGetAlertTemplateRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertTemplate>;
    /**
     *
     * @summary List alert templates
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertTemplateApiInterface
     */
    listAlertTemplates(options?: RawAxiosRequestConfig): AxiosPromise<AlertTemplateList>;
    /**
     * partially update the alert receiver
     * @summary Update alert template
     * @param {AlertTemplateApiPatchAlertTemplateRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertTemplateApiInterface
     */
    patchAlertTemplate(requestParameters: AlertTemplateApiPatchAlertTemplateRequest, options?: RawAxiosRequestConfig): AxiosPromise<AlertTemplate>;
}
/**
 * Request parameters for createAlertTemplate operation in AlertTemplateApi.
 * @export
 * @interface AlertTemplateApiCreateAlertTemplateRequest
 */
export interface AlertTemplateApiCreateAlertTemplateRequest {
    /**
     *
     * @type {AlertTemplate}
     * @memberof AlertTemplateApiCreateAlertTemplate
     */
    readonly body: AlertTemplate;
}
/**
 * Request parameters for deleteAlertTemplate operation in AlertTemplateApi.
 * @export
 * @interface AlertTemplateApiDeleteAlertTemplateRequest
 */
export interface AlertTemplateApiDeleteAlertTemplateRequest {
    /**
     * id of the alert tmpl configuration
     * @type {string}
     * @memberof AlertTemplateApiDeleteAlertTemplate
     */
    readonly templateId: string;
}
/**
 * Request parameters for getAlertTemplate operation in AlertTemplateApi.
 * @export
 * @interface AlertTemplateApiGetAlertTemplateRequest
 */
export interface AlertTemplateApiGetAlertTemplateRequest {
    /**
     * id of the alert tmpl configuration
     * @type {string}
     * @memberof AlertTemplateApiGetAlertTemplate
     */
    readonly templateId: string;
}
/**
 * Request parameters for patchAlertTemplate operation in AlertTemplateApi.
 * @export
 * @interface AlertTemplateApiPatchAlertTemplateRequest
 */
export interface AlertTemplateApiPatchAlertTemplateRequest {
    /**
     * id of the alert tmpl configuration
     * @type {string}
     * @memberof AlertTemplateApiPatchAlertTemplate
     */
    readonly templateId: string;
    /**
     *
     * @type {AlertTemplate}
     * @memberof AlertTemplateApiPatchAlertTemplate
     */
    readonly body: AlertTemplate;
}
/**
 * AlertTemplateApi - object-oriented interface
 * @export
 * @class AlertTemplateApi
 * @extends {BaseAPI}
 */
export declare class AlertTemplateApi extends BaseAPI implements AlertTemplateApiInterface {
    /**
     *
     * @summary Create alert template
     * @param {AlertTemplateApiCreateAlertTemplateRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertTemplateApi
     */
    createAlertTemplate(requestParameters: AlertTemplateApiCreateAlertTemplateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AlertTemplate, any, {}>>;
    /**
     *
     * @summary Delete alert template
     * @param {AlertTemplateApiDeleteAlertTemplateRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertTemplateApi
     */
    deleteAlertTemplate(requestParameters: AlertTemplateApiDeleteAlertTemplateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<object, any, {}>>;
    /**
     *
     * @summary Get alert template
     * @param {AlertTemplateApiGetAlertTemplateRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertTemplateApi
     */
    getAlertTemplate(requestParameters: AlertTemplateApiGetAlertTemplateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AlertTemplate, any, {}>>;
    /**
     *
     * @summary List alert templates
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertTemplateApi
     */
    listAlertTemplates(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AlertTemplateList, any, {}>>;
    /**
     * partially update the alert receiver
     * @summary Update alert template
     * @param {AlertTemplateApiPatchAlertTemplateRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AlertTemplateApi
     */
    patchAlertTemplate(requestParameters: AlertTemplateApiPatchAlertTemplateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AlertTemplate, any, {}>>;
}
//# sourceMappingURL=alert-template-api.d.ts.map