/**
 * 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 { MonitorDataSink } from '../models';
import type { MonitorDataSinkCreate } from '../models';
import type { MonitorDataSinkList } from '../models';
import type { MonitorDataSinkUpdate } from '../models';
/**
 * MonitorDataSinkApi - axios parameter creator
 * @export
 */
export declare const MonitorDataSinkApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Create monitor data sink
     * @summary Create monitor data sink
     * @param {MonitorDataSinkCreate} monitorDataSinkCreate
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createMonitorDataSink: (monitorDataSinkCreate: MonitorDataSinkCreate, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Delete monitor data sink
     * @param {string} monitorDataSinkID monitor data sink id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteMonitorDataSink: (monitorDataSinkID: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Get monitor data sink list
     * @summary Get monitor data sink list
     * @param {string} environmentName kubernetes environment name which monitor data sink deployed in.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listMonitorDataSinks: (environmentName: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Update the specified monitor data sink
     * @summary Update the specified monitor data sink
     * @param {string} monitorDataSinkID monitor data sink id
     * @param {MonitorDataSinkUpdate} monitorDataSinkUpdate
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    patchMonitorDataSink: (monitorDataSinkID: string, monitorDataSinkUpdate: MonitorDataSinkUpdate, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * MonitorDataSinkApi - functional programming interface
 * @export
 */
export declare const MonitorDataSinkApiFp: (configuration?: Configuration) => {
    /**
     * Create monitor data sink
     * @summary Create monitor data sink
     * @param {MonitorDataSinkCreate} monitorDataSinkCreate
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createMonitorDataSink(monitorDataSinkCreate: MonitorDataSinkCreate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MonitorDataSink>>;
    /**
     *
     * @summary Delete monitor data sink
     * @param {string} monitorDataSinkID monitor data sink id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteMonitorDataSink(monitorDataSinkID: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     * Get monitor data sink list
     * @summary Get monitor data sink list
     * @param {string} environmentName kubernetes environment name which monitor data sink deployed in.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listMonitorDataSinks(environmentName: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MonitorDataSinkList>>;
    /**
     * Update the specified monitor data sink
     * @summary Update the specified monitor data sink
     * @param {string} monitorDataSinkID monitor data sink id
     * @param {MonitorDataSinkUpdate} monitorDataSinkUpdate
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    patchMonitorDataSink(monitorDataSinkID: string, monitorDataSinkUpdate: MonitorDataSinkUpdate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MonitorDataSink>>;
};
/**
 * MonitorDataSinkApi - factory interface
 * @export
 */
export declare const MonitorDataSinkApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Create monitor data sink
     * @summary Create monitor data sink
     * @param {MonitorDataSinkApiCreateMonitorDataSinkRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createMonitorDataSink(requestParameters: MonitorDataSinkApiCreateMonitorDataSinkRequest, options?: RawAxiosRequestConfig): AxiosPromise<MonitorDataSink>;
    /**
     *
     * @summary Delete monitor data sink
     * @param {MonitorDataSinkApiDeleteMonitorDataSinkRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteMonitorDataSink(requestParameters: MonitorDataSinkApiDeleteMonitorDataSinkRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     * Get monitor data sink list
     * @summary Get monitor data sink list
     * @param {MonitorDataSinkApiListMonitorDataSinksRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listMonitorDataSinks(requestParameters: MonitorDataSinkApiListMonitorDataSinksRequest, options?: RawAxiosRequestConfig): AxiosPromise<MonitorDataSinkList>;
    /**
     * Update the specified monitor data sink
     * @summary Update the specified monitor data sink
     * @param {MonitorDataSinkApiPatchMonitorDataSinkRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    patchMonitorDataSink(requestParameters: MonitorDataSinkApiPatchMonitorDataSinkRequest, options?: RawAxiosRequestConfig): AxiosPromise<MonitorDataSink>;
};
/**
 * MonitorDataSinkApi - interface
 * @export
 * @interface MonitorDataSinkApi
 */
export interface MonitorDataSinkApiInterface {
    /**
     * Create monitor data sink
     * @summary Create monitor data sink
     * @param {MonitorDataSinkApiCreateMonitorDataSinkRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MonitorDataSinkApiInterface
     */
    createMonitorDataSink(requestParameters: MonitorDataSinkApiCreateMonitorDataSinkRequest, options?: RawAxiosRequestConfig): AxiosPromise<MonitorDataSink>;
    /**
     *
     * @summary Delete monitor data sink
     * @param {MonitorDataSinkApiDeleteMonitorDataSinkRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MonitorDataSinkApiInterface
     */
    deleteMonitorDataSink(requestParameters: MonitorDataSinkApiDeleteMonitorDataSinkRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     * Get monitor data sink list
     * @summary Get monitor data sink list
     * @param {MonitorDataSinkApiListMonitorDataSinksRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MonitorDataSinkApiInterface
     */
    listMonitorDataSinks(requestParameters: MonitorDataSinkApiListMonitorDataSinksRequest, options?: RawAxiosRequestConfig): AxiosPromise<MonitorDataSinkList>;
    /**
     * Update the specified monitor data sink
     * @summary Update the specified monitor data sink
     * @param {MonitorDataSinkApiPatchMonitorDataSinkRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MonitorDataSinkApiInterface
     */
    patchMonitorDataSink(requestParameters: MonitorDataSinkApiPatchMonitorDataSinkRequest, options?: RawAxiosRequestConfig): AxiosPromise<MonitorDataSink>;
}
/**
 * Request parameters for createMonitorDataSink operation in MonitorDataSinkApi.
 * @export
 * @interface MonitorDataSinkApiCreateMonitorDataSinkRequest
 */
export interface MonitorDataSinkApiCreateMonitorDataSinkRequest {
    /**
     *
     * @type {MonitorDataSinkCreate}
     * @memberof MonitorDataSinkApiCreateMonitorDataSink
     */
    readonly monitorDataSinkCreate: MonitorDataSinkCreate;
}
/**
 * Request parameters for deleteMonitorDataSink operation in MonitorDataSinkApi.
 * @export
 * @interface MonitorDataSinkApiDeleteMonitorDataSinkRequest
 */
export interface MonitorDataSinkApiDeleteMonitorDataSinkRequest {
    /**
     * monitor data sink id
     * @type {string}
     * @memberof MonitorDataSinkApiDeleteMonitorDataSink
     */
    readonly monitorDataSinkID: string;
}
/**
 * Request parameters for listMonitorDataSinks operation in MonitorDataSinkApi.
 * @export
 * @interface MonitorDataSinkApiListMonitorDataSinksRequest
 */
export interface MonitorDataSinkApiListMonitorDataSinksRequest {
    /**
     * kubernetes environment name which monitor data sink deployed in.
     * @type {string}
     * @memberof MonitorDataSinkApiListMonitorDataSinks
     */
    readonly environmentName: string;
}
/**
 * Request parameters for patchMonitorDataSink operation in MonitorDataSinkApi.
 * @export
 * @interface MonitorDataSinkApiPatchMonitorDataSinkRequest
 */
export interface MonitorDataSinkApiPatchMonitorDataSinkRequest {
    /**
     * monitor data sink id
     * @type {string}
     * @memberof MonitorDataSinkApiPatchMonitorDataSink
     */
    readonly monitorDataSinkID: string;
    /**
     *
     * @type {MonitorDataSinkUpdate}
     * @memberof MonitorDataSinkApiPatchMonitorDataSink
     */
    readonly monitorDataSinkUpdate: MonitorDataSinkUpdate;
}
/**
 * MonitorDataSinkApi - object-oriented interface
 * @export
 * @class MonitorDataSinkApi
 * @extends {BaseAPI}
 */
export declare class MonitorDataSinkApi extends BaseAPI implements MonitorDataSinkApiInterface {
    /**
     * Create monitor data sink
     * @summary Create monitor data sink
     * @param {MonitorDataSinkApiCreateMonitorDataSinkRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MonitorDataSinkApi
     */
    createMonitorDataSink(requestParameters: MonitorDataSinkApiCreateMonitorDataSinkRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<MonitorDataSink, any, {}>>;
    /**
     *
     * @summary Delete monitor data sink
     * @param {MonitorDataSinkApiDeleteMonitorDataSinkRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MonitorDataSinkApi
     */
    deleteMonitorDataSink(requestParameters: MonitorDataSinkApiDeleteMonitorDataSinkRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
    /**
     * Get monitor data sink list
     * @summary Get monitor data sink list
     * @param {MonitorDataSinkApiListMonitorDataSinksRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MonitorDataSinkApi
     */
    listMonitorDataSinks(requestParameters: MonitorDataSinkApiListMonitorDataSinksRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<MonitorDataSinkList, any, {}>>;
    /**
     * Update the specified monitor data sink
     * @summary Update the specified monitor data sink
     * @param {MonitorDataSinkApiPatchMonitorDataSinkRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MonitorDataSinkApi
     */
    patchMonitorDataSink(requestParameters: MonitorDataSinkApiPatchMonitorDataSinkRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<MonitorDataSink, any, {}>>;
}
//# sourceMappingURL=monitor-data-sink-api.d.ts.map