/**
 * Farcaster API V2
 * The Farcaster API allows you to interact with the Farcaster protocol. See the [Neynar docs](https://docs.neynar.com/reference) for more details.
 *
 * The version of the OpenAPI document: 2.26.1
 * 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 { WebhookDeleteReqBody } from '../models';
import type { WebhookListResponse } from '../models';
import type { WebhookPatchReqBody } from '../models';
import type { WebhookPostReqBody } from '../models';
import type { WebhookPutReqBody } from '../models';
import type { WebhookResponse } from '../models';
/**
 * WebhookApi - axios parameter creator
 * @export
 */
export declare const WebhookApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Delete a webhook
     * @summary Delete a webhook
     * @param {WebhookDeleteReqBody} webhookDeleteReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/delete-webhook)
     *
     */
    deleteWebhook: (webhookDeleteReqBody: WebhookDeleteReqBody, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Fetch a list of webhooks associated to a user
     * @summary Associated webhooks of user
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookListResponse>} A promise that resolves to a `WebhookListResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-webhooks)
     *
     */
    fetchWebhooks: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Fetch a webhook
     * @summary Fetch a webhook
     * @param {string} webhookId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-webhook)
     *
     */
    lookupWebhook: (webhookId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Create a webhook
     * @summary Create a webhook
     * @param {WebhookPostReqBody} webhookPostReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/publish-webhook)
     *
     */
    publishWebhook: (webhookPostReqBody: WebhookPostReqBody, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Update a webhook
     * @summary Update a webhook
     * @param {WebhookPutReqBody} webhookPutReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/update-webhook)
     *
     */
    updateWebhook: (webhookPutReqBody: WebhookPutReqBody, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Update webhook active status
     * @summary Update webhook status
     * @param {WebhookPatchReqBody} webhookPatchReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/update-webhook-active-status)
     *
     */
    updateWebhookActiveStatus: (webhookPatchReqBody: WebhookPatchReqBody, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * WebhookApi - functional programming interface
 * @export
 */
export declare const WebhookApiFp: (configuration?: Configuration) => {
    /**
     * Delete a webhook
     * @summary Delete a webhook
     * @param {WebhookDeleteReqBody} webhookDeleteReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/delete-webhook)
     *
     */
    deleteWebhook(webhookDeleteReqBody: WebhookDeleteReqBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebhookResponse>>;
    /**
     * Fetch a list of webhooks associated to a user
     * @summary Associated webhooks of user
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookListResponse>} A promise that resolves to a `WebhookListResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-webhooks)
     *
     */
    fetchWebhooks(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebhookListResponse>>;
    /**
     * Fetch a webhook
     * @summary Fetch a webhook
     * @param {string} webhookId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-webhook)
     *
     */
    lookupWebhook(webhookId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebhookResponse>>;
    /**
     * Create a webhook
     * @summary Create a webhook
     * @param {WebhookPostReqBody} webhookPostReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/publish-webhook)
     *
     */
    publishWebhook(webhookPostReqBody: WebhookPostReqBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebhookResponse>>;
    /**
     * Update a webhook
     * @summary Update a webhook
     * @param {WebhookPutReqBody} webhookPutReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/update-webhook)
     *
     */
    updateWebhook(webhookPutReqBody: WebhookPutReqBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebhookResponse>>;
    /**
     * Update webhook active status
     * @summary Update webhook status
     * @param {WebhookPatchReqBody} webhookPatchReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/update-webhook-active-status)
     *
     */
    updateWebhookActiveStatus(webhookPatchReqBody: WebhookPatchReqBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebhookResponse>>;
};
/**
 * WebhookApi - factory interface
 * @export
 */
export declare const WebhookApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Delete a webhook
     * @summary Delete a webhook
     * @param {WebhookApiDeleteWebhookRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/delete-webhook)
     *
     */
    deleteWebhook(requestParameters: WebhookApiDeleteWebhookRequest, options?: RawAxiosRequestConfig): AxiosPromise<WebhookResponse>;
    /**
     * Fetch a list of webhooks associated to a user
     * @summary Associated webhooks of user
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookListResponse>} A promise that resolves to a `WebhookListResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-webhooks)
     *
     */
    fetchWebhooks(options?: RawAxiosRequestConfig): AxiosPromise<WebhookListResponse>;
    /**
     * Fetch a webhook
     * @summary Fetch a webhook
     * @param {WebhookApiLookupWebhookRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-webhook)
     *
     */
    lookupWebhook(requestParameters: WebhookApiLookupWebhookRequest, options?: RawAxiosRequestConfig): AxiosPromise<WebhookResponse>;
    /**
     * Create a webhook
     * @summary Create a webhook
     * @param {WebhookApiPublishWebhookRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/publish-webhook)
     *
     */
    publishWebhook(requestParameters: WebhookApiPublishWebhookRequest, options?: RawAxiosRequestConfig): AxiosPromise<WebhookResponse>;
    /**
     * Update a webhook
     * @summary Update a webhook
     * @param {WebhookApiUpdateWebhookRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/update-webhook)
     *
     */
    updateWebhook(requestParameters: WebhookApiUpdateWebhookRequest, options?: RawAxiosRequestConfig): AxiosPromise<WebhookResponse>;
    /**
     * Update webhook active status
     * @summary Update webhook status
     * @param {WebhookApiUpdateWebhookActiveStatusRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/update-webhook-active-status)
     *
     */
    updateWebhookActiveStatus(requestParameters: WebhookApiUpdateWebhookActiveStatusRequest, options?: RawAxiosRequestConfig): AxiosPromise<WebhookResponse>;
};
/**
 * WebhookApi - interface
 * @export
 * @interface WebhookApi
 */
export interface WebhookApiInterface {
    /**
     * Delete a webhook
     * @summary Delete a webhook
     * @param {WebhookApiDeleteWebhookRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WebhookApiInterface
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/delete-webhook)
     *
     */
    deleteWebhook(requestParameters: WebhookApiDeleteWebhookRequest, options?: RawAxiosRequestConfig): AxiosPromise<WebhookResponse>;
    /**
     * Fetch a list of webhooks associated to a user
     * @summary Associated webhooks of user
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WebhookApiInterface
     * @returns {Promise<WebhookListResponse>} A promise that resolves to a `WebhookListResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-webhooks)
     *
     */
    fetchWebhooks(options?: RawAxiosRequestConfig): AxiosPromise<WebhookListResponse>;
    /**
     * Fetch a webhook
     * @summary Fetch a webhook
     * @param {WebhookApiLookupWebhookRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WebhookApiInterface
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-webhook)
     *
     */
    lookupWebhook(requestParameters: WebhookApiLookupWebhookRequest, options?: RawAxiosRequestConfig): AxiosPromise<WebhookResponse>;
    /**
     * Create a webhook
     * @summary Create a webhook
     * @param {WebhookApiPublishWebhookRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WebhookApiInterface
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/publish-webhook)
     *
     */
    publishWebhook(requestParameters: WebhookApiPublishWebhookRequest, options?: RawAxiosRequestConfig): AxiosPromise<WebhookResponse>;
    /**
     * Update a webhook
     * @summary Update a webhook
     * @param {WebhookApiUpdateWebhookRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WebhookApiInterface
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/update-webhook)
     *
     */
    updateWebhook(requestParameters: WebhookApiUpdateWebhookRequest, options?: RawAxiosRequestConfig): AxiosPromise<WebhookResponse>;
    /**
     * Update webhook active status
     * @summary Update webhook status
     * @param {WebhookApiUpdateWebhookActiveStatusRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WebhookApiInterface
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/update-webhook-active-status)
     *
     */
    updateWebhookActiveStatus(requestParameters: WebhookApiUpdateWebhookActiveStatusRequest, options?: RawAxiosRequestConfig): AxiosPromise<WebhookResponse>;
}
/**
 * Request parameters for deleteWebhook operation in WebhookApi.
 * @export
 * @interface WebhookApiDeleteWebhookRequest
 */
export interface WebhookApiDeleteWebhookRequest {
    /**
     *
     *
     *
     *
     * @type {WebhookDeleteReqBody}
     * @memberof WebhookApiDeleteWebhook
     */
    readonly webhookDeleteReqBody: WebhookDeleteReqBody;
}
/**
 * Request parameters for lookupWebhook operation in WebhookApi.
 * @export
 * @interface WebhookApiLookupWebhookRequest
 */
export interface WebhookApiLookupWebhookRequest {
    /**
     *
     *
     *
     *
     * @type {string}
     * @memberof WebhookApiLookupWebhook
     */
    readonly webhookId: string;
}
/**
 * Request parameters for publishWebhook operation in WebhookApi.
 * @export
 * @interface WebhookApiPublishWebhookRequest
 */
export interface WebhookApiPublishWebhookRequest {
    /**
     *
     *
     *
     *
     * @type {WebhookPostReqBody}
     * @memberof WebhookApiPublishWebhook
     */
    readonly webhookPostReqBody: WebhookPostReqBody;
}
/**
 * Request parameters for updateWebhook operation in WebhookApi.
 * @export
 * @interface WebhookApiUpdateWebhookRequest
 */
export interface WebhookApiUpdateWebhookRequest {
    /**
     *
     *
     *
     *
     * @type {WebhookPutReqBody}
     * @memberof WebhookApiUpdateWebhook
     */
    readonly webhookPutReqBody: WebhookPutReqBody;
}
/**
 * Request parameters for updateWebhookActiveStatus operation in WebhookApi.
 * @export
 * @interface WebhookApiUpdateWebhookActiveStatusRequest
 */
export interface WebhookApiUpdateWebhookActiveStatusRequest {
    /**
     *
     *
     *
     *
     * @type {WebhookPatchReqBody}
     * @memberof WebhookApiUpdateWebhookActiveStatus
     */
    readonly webhookPatchReqBody: WebhookPatchReqBody;
}
/**
 * WebhookApi - object-oriented interface
 * @export
 * @class WebhookApi
 * @extends {BaseAPI}
 */
export declare class WebhookApi extends BaseAPI implements WebhookApiInterface {
    /**
     * Delete a webhook
     * @summary Delete a webhook
     * @param {WebhookApiDeleteWebhookRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WebhookApi
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/delete-webhook)
     *
     */
    deleteWebhook(requestParameters: WebhookApiDeleteWebhookRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<WebhookResponse, any>>;
    /**
     * Fetch a list of webhooks associated to a user
     * @summary Associated webhooks of user
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WebhookApi
     * @returns {Promise<WebhookListResponse>} A promise that resolves to a `WebhookListResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-webhooks)
     *
     */
    fetchWebhooks(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<WebhookListResponse, any>>;
    /**
     * Fetch a webhook
     * @summary Fetch a webhook
     * @param {WebhookApiLookupWebhookRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WebhookApi
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-webhook)
     *
     */
    lookupWebhook(requestParameters: WebhookApiLookupWebhookRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<WebhookResponse, any>>;
    /**
     * Create a webhook
     * @summary Create a webhook
     * @param {WebhookApiPublishWebhookRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WebhookApi
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/publish-webhook)
     *
     */
    publishWebhook(requestParameters: WebhookApiPublishWebhookRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<WebhookResponse, any>>;
    /**
     * Update a webhook
     * @summary Update a webhook
     * @param {WebhookApiUpdateWebhookRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WebhookApi
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/update-webhook)
     *
     */
    updateWebhook(requestParameters: WebhookApiUpdateWebhookRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<WebhookResponse, any>>;
    /**
     * Update webhook active status
     * @summary Update webhook status
     * @param {WebhookApiUpdateWebhookActiveStatusRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WebhookApi
     * @returns {Promise<WebhookResponse>} A promise that resolves to a `WebhookResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/update-webhook-active-status)
     *
     */
    updateWebhookActiveStatus(requestParameters: WebhookApiUpdateWebhookActiveStatusRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<WebhookResponse, any>>;
}
