/**
 * 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 { 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) => {
    /**
     * Retrieves detailed information about an event based on the provided Event ID.
     * @summary Query event detail by Event ID
     * @param {string} eventID Unique identifier for the event.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEvent: (eventID: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Query available filters for event listing
     * @summary Query available filters for event listing
     * @param {EventFilterType} filterType The event filter field you want to obtain.
     * @param {string} source The event filter you want to query from a certain source.
     * @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: (filterType: EventFilterType, source: string, start: number, end: number, resourceType?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * List events
     * @summary List events
     * @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 {EventResultStatus} [status] the status of the event
     * @param {string} [customQuery] Advanced query conditions, supporting all types of filterType. Such as \&quot;orgID:111 orgID:222 operatorID:333\&quot;
     * @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}
     */
    listEvents: (start: number, end: number, status?: EventResultStatus, customQuery?: string, pageNumber?: number, pageSize?: number, orderBy?: string, sortDesc?: boolean, 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) => {
    /**
     * Retrieves detailed information about an event based on the provided Event ID.
     * @summary Query event detail by Event ID
     * @param {string} eventID Unique identifier for the event.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEvent(eventID: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Event>>;
    /**
     * Query available filters for event listing
     * @summary Query available filters for event listing
     * @param {EventFilterType} filterType The event filter field you want to obtain.
     * @param {string} source The event filter you want to query from a certain source.
     * @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(filterType: EventFilterType, source: string, start: number, end: number, resourceType?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EventFilterOptionList>>;
    /**
     * List events
     * @summary List events
     * @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 {EventResultStatus} [status] the status of the event
     * @param {string} [customQuery] Advanced query conditions, supporting all types of filterType. Such as \&quot;orgID:111 orgID:222 operatorID:333\&quot;
     * @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}
     */
    listEvents(start: number, end: number, status?: EventResultStatus, customQuery?: string, pageNumber?: number, pageSize?: number, orderBy?: string, sortDesc?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EventList>>;
    /**
     * 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) => {
    /**
     * Retrieves detailed information about an event based on the provided Event ID.
     * @summary Query event detail by Event ID
     * @param {EventApiGetEventRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEvent(requestParameters: EventApiGetEventRequest, options?: RawAxiosRequestConfig): AxiosPromise<Event>;
    /**
     * 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>;
    /**
     * List events
     * @summary List events
     * @param {EventApiListEventsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEvents(requestParameters: EventApiListEventsRequest, options?: RawAxiosRequestConfig): AxiosPromise<EventList>;
    /**
     * 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 {
    /**
     * Retrieves detailed information about an event based on the provided Event ID.
     * @summary Query event detail by Event ID
     * @param {EventApiGetEventRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EventApiInterface
     */
    getEvent(requestParameters: EventApiGetEventRequest, options?: RawAxiosRequestConfig): AxiosPromise<Event>;
    /**
     * 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>;
    /**
     * List events
     * @summary List events
     * @param {EventApiListEventsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EventApiInterface
     */
    listEvents(requestParameters: EventApiListEventsRequest, options?: RawAxiosRequestConfig): AxiosPromise<EventList>;
    /**
     * 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 getEvent operation in EventApi.
 * @export
 * @interface EventApiGetEventRequest
 */
export interface EventApiGetEventRequest {
    /**
     * Unique identifier for the event.
     * @type {string}
     * @memberof EventApiGetEvent
     */
    readonly eventID: string;
}
/**
 * Request parameters for getEventFilter operation in EventApi.
 * @export
 * @interface EventApiGetEventFilterRequest
 */
export interface EventApiGetEventFilterRequest {
    /**
     * The event filter field you want to obtain.
     * @type {EventFilterType}
     * @memberof EventApiGetEventFilter
     */
    readonly filterType: EventFilterType;
    /**
     * The event filter you want to query from a certain source.
     * @type {string}
     * @memberof EventApiGetEventFilter
     */
    readonly source: string;
    /**
     * 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 listEvents operation in EventApi.
 * @export
 * @interface EventApiListEventsRequest
 */
export interface EventApiListEventsRequest {
    /**
     * The start of the time range for the query, unit is seconds.
     * @type {number}
     * @memberof EventApiListEvents
     */
    readonly start: number;
    /**
     * The end of the time range for the query, unit is seconds.
     * @type {number}
     * @memberof EventApiListEvents
     */
    readonly end: number;
    /**
     * the status of the event
     * @type {EventResultStatus}
     * @memberof EventApiListEvents
     */
    readonly status?: EventResultStatus;
    /**
     * Advanced query conditions, supporting all types of filterType. Such as \&quot;orgID:111 orgID:222 operatorID:333\&quot;
     * @type {string}
     * @memberof EventApiListEvents
     */
    readonly customQuery?: string;
    /**
     * the pageNumber of the query
     * @type {number}
     * @memberof EventApiListEvents
     */
    readonly pageNumber?: number;
    /**
     * the pageSize of the query
     * @type {number}
     * @memberof EventApiListEvents
     */
    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 EventApiListEvents
     */
    readonly orderBy?: string;
    /**
     * Specifies the sorting direction. &#x60;true&#x60; for descending, &#x60;false&#x60; for ascending.
     * @type {boolean}
     * @memberof EventApiListEvents
     */
    readonly sortDesc?: boolean;
}
/**
 * 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 {
    /**
     * Retrieves detailed information about an event based on the provided Event ID.
     * @summary Query event detail by Event ID
     * @param {EventApiGetEventRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EventApi
     */
    getEvent(requestParameters: EventApiGetEventRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Event, any, {}>>;
    /**
     * 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, {}>>;
    /**
     * List events
     * @summary List events
     * @param {EventApiListEventsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EventApi
     */
    listEvents(requestParameters: EventApiListEventsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<EventList, 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