/**
 * 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 { Event } from '../models';
import type { EventFilterOptionList } from '../models';
import type { EventFilterType } from '../models';
import type { EventList } from '../models';
import type { EventResultStatus } from '../models';
/**
 * EventApi - axios parameter creator
 * @export
 */
export declare const EventApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Query available filters for event listing
     * @summary Query available filters for event listing
     * @param {string} orgName The orgName
     * @param {EventFilterType} filterType The event filter field you want to obtain. OpenAPI do not support orgName.
     * @param {number} start The start of the time range for the query, unit is seconds.
     * @param {number} end The end of the time range for the query, unit is seconds.
     * @param {string} [resourceType] The resource type you want to obtain.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEventFilter: (orgName: string, filterType: EventFilterType, start: number, end: number, resourceType?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Retrieves detailed information about an event based on the provided Event ID.
     * @summary Query event detail by Event ID
     * @param {string} orgName Organization Name
     * @param {string} eventID Unique identifier for the event.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getOrgEvent: (orgName: string, eventID: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * List events
     * @summary List events
     * @param {string} orgName Organization Name
     * @param {number} start The start of the time range for the query, unit is seconds.
     * @param {number} end The end of the time range for the query, unit is seconds.
     * @param {string} [customQuery] Advanced query conditions, supporting all types of filterType. Such as \&quot;operatorID:333 operatorID:444\&quot;
     * @param {EventResultStatus} [status] the status of the event
     * @param {number} [pageNumber] the pageNumber of the query
     * @param {number} [pageSize] the pageSize of the query
     * @param {string} [orderBy] A generic orderBy construct used to specify which field to sort by in the interface. (e.g., startTime or endTime).  The validity of this field is verified by the apiserver,  and it is not required in the YAML.
     * @param {boolean} [sortDesc] Specifies the sorting direction. &#x60;true&#x60; for descending, &#x60;false&#x60; for ascending.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listOrgEvents: (orgName: string, start: number, end: number, customQuery?: string, status?: EventResultStatus, pageNumber?: number, pageSize?: number, orderBy?: string, sortDesc?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * EventApi - functional programming interface
 * @export
 */
export declare const EventApiFp: (configuration?: Configuration) => {
    /**
     * Query available filters for event listing
     * @summary Query available filters for event listing
     * @param {string} orgName The orgName
     * @param {EventFilterType} filterType The event filter field you want to obtain. OpenAPI do not support orgName.
     * @param {number} start The start of the time range for the query, unit is seconds.
     * @param {number} end The end of the time range for the query, unit is seconds.
     * @param {string} [resourceType] The resource type you want to obtain.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEventFilter(orgName: string, filterType: EventFilterType, start: number, end: number, resourceType?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EventFilterOptionList>>;
    /**
     * Retrieves detailed information about an event based on the provided Event ID.
     * @summary Query event detail by Event ID
     * @param {string} orgName Organization Name
     * @param {string} eventID Unique identifier for the event.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getOrgEvent(orgName: string, eventID: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Event>>;
    /**
     * List events
     * @summary List events
     * @param {string} orgName Organization Name
     * @param {number} start The start of the time range for the query, unit is seconds.
     * @param {number} end The end of the time range for the query, unit is seconds.
     * @param {string} [customQuery] Advanced query conditions, supporting all types of filterType. Such as \&quot;operatorID:333 operatorID:444\&quot;
     * @param {EventResultStatus} [status] the status of the event
     * @param {number} [pageNumber] the pageNumber of the query
     * @param {number} [pageSize] the pageSize of the query
     * @param {string} [orderBy] A generic orderBy construct used to specify which field to sort by in the interface. (e.g., startTime or endTime).  The validity of this field is verified by the apiserver,  and it is not required in the YAML.
     * @param {boolean} [sortDesc] Specifies the sorting direction. &#x60;true&#x60; for descending, &#x60;false&#x60; for ascending.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listOrgEvents(orgName: string, start: number, end: number, customQuery?: string, status?: EventResultStatus, pageNumber?: number, pageSize?: number, orderBy?: string, sortDesc?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EventList>>;
};
/**
 * EventApi - factory interface
 * @export
 */
export declare const EventApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Query available filters for event listing
     * @summary Query available filters for event listing
     * @param {EventApiGetEventFilterRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEventFilter(requestParameters: EventApiGetEventFilterRequest, options?: RawAxiosRequestConfig): AxiosPromise<EventFilterOptionList>;
    /**
     * Retrieves detailed information about an event based on the provided Event ID.
     * @summary Query event detail by Event ID
     * @param {EventApiGetOrgEventRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getOrgEvent(requestParameters: EventApiGetOrgEventRequest, options?: RawAxiosRequestConfig): AxiosPromise<Event>;
    /**
     * List events
     * @summary List events
     * @param {EventApiListOrgEventsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listOrgEvents(requestParameters: EventApiListOrgEventsRequest, options?: RawAxiosRequestConfig): AxiosPromise<EventList>;
};
/**
 * EventApi - interface
 * @export
 * @interface EventApi
 */
export interface EventApiInterface {
    /**
     * Query available filters for event listing
     * @summary Query available filters for event listing
     * @param {EventApiGetEventFilterRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EventApiInterface
     */
    getEventFilter(requestParameters: EventApiGetEventFilterRequest, options?: RawAxiosRequestConfig): AxiosPromise<EventFilterOptionList>;
    /**
     * Retrieves detailed information about an event based on the provided Event ID.
     * @summary Query event detail by Event ID
     * @param {EventApiGetOrgEventRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EventApiInterface
     */
    getOrgEvent(requestParameters: EventApiGetOrgEventRequest, options?: RawAxiosRequestConfig): AxiosPromise<Event>;
    /**
     * List events
     * @summary List events
     * @param {EventApiListOrgEventsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EventApiInterface
     */
    listOrgEvents(requestParameters: EventApiListOrgEventsRequest, options?: RawAxiosRequestConfig): AxiosPromise<EventList>;
}
/**
 * Request parameters for getEventFilter operation in EventApi.
 * @export
 * @interface EventApiGetEventFilterRequest
 */
export interface EventApiGetEventFilterRequest {
    /**
     * The orgName
     * @type {string}
     * @memberof EventApiGetEventFilter
     */
    readonly orgName: string;
    /**
     * The event filter field you want to obtain. OpenAPI do not support orgName.
     * @type {EventFilterType}
     * @memberof EventApiGetEventFilter
     */
    readonly filterType: EventFilterType;
    /**
     * The start of the time range for the query, unit is seconds.
     * @type {number}
     * @memberof EventApiGetEventFilter
     */
    readonly start: number;
    /**
     * The end of the time range for the query, unit is seconds.
     * @type {number}
     * @memberof EventApiGetEventFilter
     */
    readonly end: number;
    /**
     * The resource type you want to obtain.
     * @type {string}
     * @memberof EventApiGetEventFilter
     */
    readonly resourceType?: string;
}
/**
 * Request parameters for getOrgEvent operation in EventApi.
 * @export
 * @interface EventApiGetOrgEventRequest
 */
export interface EventApiGetOrgEventRequest {
    /**
     * Organization Name
     * @type {string}
     * @memberof EventApiGetOrgEvent
     */
    readonly orgName: string;
    /**
     * Unique identifier for the event.
     * @type {string}
     * @memberof EventApiGetOrgEvent
     */
    readonly eventID: string;
}
/**
 * Request parameters for listOrgEvents operation in EventApi.
 * @export
 * @interface EventApiListOrgEventsRequest
 */
export interface EventApiListOrgEventsRequest {
    /**
     * Organization Name
     * @type {string}
     * @memberof EventApiListOrgEvents
     */
    readonly orgName: string;
    /**
     * The start of the time range for the query, unit is seconds.
     * @type {number}
     * @memberof EventApiListOrgEvents
     */
    readonly start: number;
    /**
     * The end of the time range for the query, unit is seconds.
     * @type {number}
     * @memberof EventApiListOrgEvents
     */
    readonly end: number;
    /**
     * Advanced query conditions, supporting all types of filterType. Such as \&quot;operatorID:333 operatorID:444\&quot;
     * @type {string}
     * @memberof EventApiListOrgEvents
     */
    readonly customQuery?: string;
    /**
     * the status of the event
     * @type {EventResultStatus}
     * @memberof EventApiListOrgEvents
     */
    readonly status?: EventResultStatus;
    /**
     * the pageNumber of the query
     * @type {number}
     * @memberof EventApiListOrgEvents
     */
    readonly pageNumber?: number;
    /**
     * the pageSize of the query
     * @type {number}
     * @memberof EventApiListOrgEvents
     */
    readonly pageSize?: number;
    /**
     * A generic orderBy construct used to specify which field to sort by in the interface. (e.g., startTime or endTime).  The validity of this field is verified by the apiserver,  and it is not required in the YAML.
     * @type {string}
     * @memberof EventApiListOrgEvents
     */
    readonly orderBy?: string;
    /**
     * Specifies the sorting direction. &#x60;true&#x60; for descending, &#x60;false&#x60; for ascending.
     * @type {boolean}
     * @memberof EventApiListOrgEvents
     */
    readonly sortDesc?: boolean;
}
/**
 * EventApi - object-oriented interface
 * @export
 * @class EventApi
 * @extends {BaseAPI}
 */
export declare class EventApi extends BaseAPI implements EventApiInterface {
    /**
     * Query available filters for event listing
     * @summary Query available filters for event listing
     * @param {EventApiGetEventFilterRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EventApi
     */
    getEventFilter(requestParameters: EventApiGetEventFilterRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<EventFilterOptionList, any, {}>>;
    /**
     * Retrieves detailed information about an event based on the provided Event ID.
     * @summary Query event detail by Event ID
     * @param {EventApiGetOrgEventRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EventApi
     */
    getOrgEvent(requestParameters: EventApiGetOrgEventRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Event, any, {}>>;
    /**
     * List events
     * @summary List events
     * @param {EventApiListOrgEventsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EventApi
     */
    listOrgEvents(requestParameters: EventApiListOrgEventsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<EventList, any, {}>>;
}
//# sourceMappingURL=event-api.d.ts.map