/**
 * Farcaster Hub REST API
 * Perform basic queries of Farcaster state via the REST API of a Farcaster hub. See the [Farcaster docs](https://www.thehubble.xyz/docs/httpapi/httpapi.html) for more details. Some client libraries:   - [TypeScript](https://www.npmjs.com/package/@standard-crypto/farcaster-js-hub-rest)
 *
 * The version of the OpenAPI document: 1.0
 *
 *
 * 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.js';
import type { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';
import globalAxios from 'axios';
import { RequestArgs, BaseAPI } from '../base.js';
import { HubEvent } from '../models/index.js';
import { ListEvents200Response } from '../models/index.js';
/**
 * HubEventsApi - axios parameter creator
 * @export
 */
export declare const HubEventsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Get an event by its ID
     * @param {number} eventId The Hub Id of the event
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEventById: (eventId: number, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get a page of Hub events
     * @param {number} [fromEventId] An optional Hub Id to start getting events from. This is also returned from the API as nextPageEventId, which can be used to page through all the Hub events. Set it to 0 to start from the first event
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEvents: (fromEventId?: number, options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * HubEventsApi - functional programming interface
 * @export
 */
export declare const HubEventsApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Get an event by its ID
     * @param {number} eventId The Hub Id of the event
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEventById(eventId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<HubEvent>>;
    /**
     *
     * @summary Get a page of Hub events
     * @param {number} [fromEventId] An optional Hub Id to start getting events from. This is also returned from the API as nextPageEventId, which can be used to page through all the Hub events. Set it to 0 to start from the first event
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEvents(fromEventId?: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListEvents200Response>>;
};
/**
 * HubEventsApi - factory interface
 * @export
 */
export declare const HubEventsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Get an event by its ID
     * @param {HubEventsApiGetEventByIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEventById(requestParameters: HubEventsApiGetEventByIdRequest, options?: AxiosRequestConfig): AxiosPromise<HubEvent>;
    /**
     *
     * @summary Get a page of Hub events
     * @param {HubEventsApiListEventsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listEvents(requestParameters?: HubEventsApiListEventsRequest, options?: AxiosRequestConfig): AxiosPromise<ListEvents200Response>;
};
/**
 * Request parameters for getEventById operation in HubEventsApi.
 * @export
 * @interface HubEventsApiGetEventByIdRequest
 */
export interface HubEventsApiGetEventByIdRequest {
    /**
     * The Hub Id of the event
     * @type {number}
     * @memberof HubEventsApiGetEventById
     */
    readonly eventId: number;
}
/**
 * Request parameters for listEvents operation in HubEventsApi.
 * @export
 * @interface HubEventsApiListEventsRequest
 */
export interface HubEventsApiListEventsRequest {
    /**
     * An optional Hub Id to start getting events from. This is also returned from the API as nextPageEventId, which can be used to page through all the Hub events. Set it to 0 to start from the first event
     * @type {number}
     * @memberof HubEventsApiListEvents
     */
    readonly fromEventId?: number;
}
/**
 * HubEventsApi - object-oriented interface
 * @export
 * @class HubEventsApi
 * @extends {BaseAPI}
 */
export declare class HubEventsApi extends BaseAPI {
    /**
     *
     * @summary Get an event by its ID
     * @param {HubEventsApiGetEventByIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof HubEventsApi
     */
    getEventById(requestParameters: HubEventsApiGetEventByIdRequest, options?: AxiosRequestConfig): Promise<globalAxios.AxiosResponse<HubEvent, any>>;
    /**
     *
     * @summary Get a page of Hub events
     * @param {HubEventsApiListEventsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof HubEventsApi
     */
    listEvents(requestParameters?: HubEventsApiListEventsRequest, options?: AxiosRequestConfig): Promise<globalAxios.AxiosResponse<ListEvents200Response, any>>;
}
