/**
 * Farcaster Hub API
 * Perform basic queries of Farcaster state via the REST API of a Farcaster hub. See the [Neynar docs](https://docs.neynar.com/reference) for more details.
 *
 * The version of the OpenAPI document: 2.21.0
 * Contact: team@neynar.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 { FetchUserOnChainEvents200Response } from '../models';
import type { FetchUserOnChainSignersEvents200Response } from '../models';
import type { OnChainEventIdRegister } from '../models';
import type { OnChainEventType } from '../models';
/**
 * OnChainEventsApi - axios parameter creator
 * @export
 */
export declare const OnChainEventsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Fetch on-chain events provided by a user.
     * @summary Fetch a list of on-chain events provided by an FID
     * @param {number} fid The FID being requested
     * @param {OnChainEventType} eventType The numeric or string value of the event type being requested
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<FetchUserOnChainEvents200Response>} A promise that resolves to a `FetchUserOnChainEvents200Response` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-user-on-chain-events)
     *
     */
    fetchUserOnChainEvents: (fid: number, eventType: OnChainEventType, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * **Note:** one of two different response schemas is returned based on whether the caller provides the `signer` parameter. If included, a single `OnChainEventSigner` message is returned (or a `not_found` error). If omitted, a non-paginated list of `OnChainEventSigner` messages is returned instead.
     * @summary Fetch a list of signers provided by an FID
     * @param {number} fid The FID being requested
     * @param {string} [signer] The optional key of signer
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<FetchUserOnChainSignersEvents200Response>} A promise that resolves to a `FetchUserOnChainSignersEvents200Response` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-user-on-chain-signers)
     *
     */
    fetchUserOnChainSignersEvents: (fid: number, signer?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Fetch an on-chain ID Registry Event for a given Address.
     * @summary Fetch an on-chain ID Registry Event for a given Address
     * @param {string} address The ETH address being requested
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<OnChainEventIdRegister>} A promise that resolves to a `OnChainEventIdRegister` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-on-chain-id-registry-event-by-address)
     *
     */
    lookupOnChainIdRegistryEventByAddress: (address: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * OnChainEventsApi - functional programming interface
 * @export
 */
export declare const OnChainEventsApiFp: (configuration?: Configuration) => {
    /**
     * Fetch on-chain events provided by a user.
     * @summary Fetch a list of on-chain events provided by an FID
     * @param {number} fid The FID being requested
     * @param {OnChainEventType} eventType The numeric or string value of the event type being requested
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<FetchUserOnChainEvents200Response>} A promise that resolves to a `FetchUserOnChainEvents200Response` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-user-on-chain-events)
     *
     */
    fetchUserOnChainEvents(fid: number, eventType: OnChainEventType, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<FetchUserOnChainEvents200Response>>;
    /**
     * **Note:** one of two different response schemas is returned based on whether the caller provides the `signer` parameter. If included, a single `OnChainEventSigner` message is returned (or a `not_found` error). If omitted, a non-paginated list of `OnChainEventSigner` messages is returned instead.
     * @summary Fetch a list of signers provided by an FID
     * @param {number} fid The FID being requested
     * @param {string} [signer] The optional key of signer
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<FetchUserOnChainSignersEvents200Response>} A promise that resolves to a `FetchUserOnChainSignersEvents200Response` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-user-on-chain-signers)
     *
     */
    fetchUserOnChainSignersEvents(fid: number, signer?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<FetchUserOnChainSignersEvents200Response>>;
    /**
     * Fetch an on-chain ID Registry Event for a given Address.
     * @summary Fetch an on-chain ID Registry Event for a given Address
     * @param {string} address The ETH address being requested
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<OnChainEventIdRegister>} A promise that resolves to a `OnChainEventIdRegister` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-on-chain-id-registry-event-by-address)
     *
     */
    lookupOnChainIdRegistryEventByAddress(address: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OnChainEventIdRegister>>;
};
/**
 * OnChainEventsApi - factory interface
 * @export
 */
export declare const OnChainEventsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Fetch on-chain events provided by a user.
     * @summary Fetch a list of on-chain events provided by an FID
     * @param {OnChainEventsApiFetchUserOnChainEventsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<FetchUserOnChainEvents200Response>} A promise that resolves to a `FetchUserOnChainEvents200Response` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-user-on-chain-events)
     *
     */
    fetchUserOnChainEvents(requestParameters: OnChainEventsApiFetchUserOnChainEventsRequest, options?: RawAxiosRequestConfig): AxiosPromise<FetchUserOnChainEvents200Response>;
    /**
     * **Note:** one of two different response schemas is returned based on whether the caller provides the `signer` parameter. If included, a single `OnChainEventSigner` message is returned (or a `not_found` error). If omitted, a non-paginated list of `OnChainEventSigner` messages is returned instead.
     * @summary Fetch a list of signers provided by an FID
     * @param {OnChainEventsApiFetchUserOnChainSignersEventsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<FetchUserOnChainSignersEvents200Response>} A promise that resolves to a `FetchUserOnChainSignersEvents200Response` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-user-on-chain-signers)
     *
     */
    fetchUserOnChainSignersEvents(requestParameters: OnChainEventsApiFetchUserOnChainSignersEventsRequest, options?: RawAxiosRequestConfig): AxiosPromise<FetchUserOnChainSignersEvents200Response>;
    /**
     * Fetch an on-chain ID Registry Event for a given Address.
     * @summary Fetch an on-chain ID Registry Event for a given Address
     * @param {OnChainEventsApiLookupOnChainIdRegistryEventByAddressRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<OnChainEventIdRegister>} A promise that resolves to a `OnChainEventIdRegister` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-on-chain-id-registry-event-by-address)
     *
     */
    lookupOnChainIdRegistryEventByAddress(requestParameters: OnChainEventsApiLookupOnChainIdRegistryEventByAddressRequest, options?: RawAxiosRequestConfig): AxiosPromise<OnChainEventIdRegister>;
};
/**
 * OnChainEventsApi - interface
 * @export
 * @interface OnChainEventsApi
 */
export interface OnChainEventsApiInterface {
    /**
     * Fetch on-chain events provided by a user.
     * @summary Fetch a list of on-chain events provided by an FID
     * @param {OnChainEventsApiFetchUserOnChainEventsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OnChainEventsApiInterface
     * @returns {Promise<FetchUserOnChainEvents200Response>} A promise that resolves to a `FetchUserOnChainEvents200Response` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-user-on-chain-events)
     *
     */
    fetchUserOnChainEvents(requestParameters: OnChainEventsApiFetchUserOnChainEventsRequest, options?: RawAxiosRequestConfig): AxiosPromise<FetchUserOnChainEvents200Response>;
    /**
     * **Note:** one of two different response schemas is returned based on whether the caller provides the `signer` parameter. If included, a single `OnChainEventSigner` message is returned (or a `not_found` error). If omitted, a non-paginated list of `OnChainEventSigner` messages is returned instead.
     * @summary Fetch a list of signers provided by an FID
     * @param {OnChainEventsApiFetchUserOnChainSignersEventsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OnChainEventsApiInterface
     * @returns {Promise<FetchUserOnChainSignersEvents200Response>} A promise that resolves to a `FetchUserOnChainSignersEvents200Response` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-user-on-chain-signers)
     *
     */
    fetchUserOnChainSignersEvents(requestParameters: OnChainEventsApiFetchUserOnChainSignersEventsRequest, options?: RawAxiosRequestConfig): AxiosPromise<FetchUserOnChainSignersEvents200Response>;
    /**
     * Fetch an on-chain ID Registry Event for a given Address.
     * @summary Fetch an on-chain ID Registry Event for a given Address
     * @param {OnChainEventsApiLookupOnChainIdRegistryEventByAddressRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OnChainEventsApiInterface
     * @returns {Promise<OnChainEventIdRegister>} A promise that resolves to a `OnChainEventIdRegister` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-on-chain-id-registry-event-by-address)
     *
     */
    lookupOnChainIdRegistryEventByAddress(requestParameters: OnChainEventsApiLookupOnChainIdRegistryEventByAddressRequest, options?: RawAxiosRequestConfig): AxiosPromise<OnChainEventIdRegister>;
}
/**
 * Request parameters for fetchUserOnChainEvents operation in OnChainEventsApi.
 * @export
 * @interface OnChainEventsApiFetchUserOnChainEventsRequest
 */
export interface OnChainEventsApiFetchUserOnChainEventsRequest {
    /**
     * The FID being requested
     *
     *
     *
     * @type {number}
     * @memberof OnChainEventsApiFetchUserOnChainEvents
     */
    readonly fid: number;
    /**
     * The numeric or string value of the event type being requested
     *
     *
     *
     * @type {OnChainEventType}
     * @memberof OnChainEventsApiFetchUserOnChainEvents
     */
    readonly eventType: OnChainEventType;
}
/**
 * Request parameters for fetchUserOnChainSignersEvents operation in OnChainEventsApi.
 * @export
 * @interface OnChainEventsApiFetchUserOnChainSignersEventsRequest
 */
export interface OnChainEventsApiFetchUserOnChainSignersEventsRequest {
    /**
     * The FID being requested
     *
     *
     *
     * @type {number}
     * @memberof OnChainEventsApiFetchUserOnChainSignersEvents
     */
    readonly fid: number;
    /**
     * The optional key of signer
     *
     *
     *
     * @type {string}
     * @memberof OnChainEventsApiFetchUserOnChainSignersEvents
     */
    readonly signer?: string;
}
/**
 * Request parameters for lookupOnChainIdRegistryEventByAddress operation in OnChainEventsApi.
 * @export
 * @interface OnChainEventsApiLookupOnChainIdRegistryEventByAddressRequest
 */
export interface OnChainEventsApiLookupOnChainIdRegistryEventByAddressRequest {
    /**
     * The ETH address being requested
     *
     *
     *
     * @type {string}
     * @memberof OnChainEventsApiLookupOnChainIdRegistryEventByAddress
     */
    readonly address: string;
}
/**
 * OnChainEventsApi - object-oriented interface
 * @export
 * @class OnChainEventsApi
 * @extends {BaseAPI}
 */
export declare class OnChainEventsApi extends BaseAPI implements OnChainEventsApiInterface {
    /**
     * Fetch on-chain events provided by a user.
     * @summary Fetch a list of on-chain events provided by an FID
     * @param {OnChainEventsApiFetchUserOnChainEventsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OnChainEventsApi
     * @returns {Promise<FetchUserOnChainEvents200Response>} A promise that resolves to a `FetchUserOnChainEvents200Response` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-user-on-chain-events)
     *
     */
    fetchUserOnChainEvents(requestParameters: OnChainEventsApiFetchUserOnChainEventsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<FetchUserOnChainEvents200Response, any>>;
    /**
     * **Note:** one of two different response schemas is returned based on whether the caller provides the `signer` parameter. If included, a single `OnChainEventSigner` message is returned (or a `not_found` error). If omitted, a non-paginated list of `OnChainEventSigner` messages is returned instead.
     * @summary Fetch a list of signers provided by an FID
     * @param {OnChainEventsApiFetchUserOnChainSignersEventsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OnChainEventsApi
     * @returns {Promise<FetchUserOnChainSignersEvents200Response>} A promise that resolves to a `FetchUserOnChainSignersEvents200Response` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-user-on-chain-signers)
     *
     */
    fetchUserOnChainSignersEvents(requestParameters: OnChainEventsApiFetchUserOnChainSignersEventsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<FetchUserOnChainSignersEvents200Response, any>>;
    /**
     * Fetch an on-chain ID Registry Event for a given Address.
     * @summary Fetch an on-chain ID Registry Event for a given Address
     * @param {OnChainEventsApiLookupOnChainIdRegistryEventByAddressRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OnChainEventsApi
     * @returns {Promise<OnChainEventIdRegister>} A promise that resolves to a `OnChainEventIdRegister` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-on-chain-id-registry-event-by-address)
     *
     */
    lookupOnChainIdRegistryEventByAddress(requestParameters: OnChainEventsApiLookupOnChainIdRegistryEventByAddressRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OnChainEventIdRegister, any>>;
}
