/**
 * 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 { AddVerificationReqBody } from '../models';
import type { BulkFollowResponse } from '../models';
import type { BulkUserAddressType } from '../models';
import type { BulkUsersByAddressResponse } from '../models';
import type { BulkUsersResponse } from '../models';
import type { FollowReqBody } from '../models';
import type { OperationResponse } from '../models';
import type { RegisterUserReqBody } from '../models';
import type { RegisterUserResponse } from '../models';
import type { RemoveVerificationReqBody } from '../models';
import type { UpdateUserReqBody } from '../models';
import type { UserFIDResponse } from '../models';
import type { UserPowerLiteResponse } from '../models';
import type { UserResponse } from '../models';
import type { UserSearchResponse } from '../models';
import type { UsersResponse } from '../models';
/**
 * UserApi - axios parameter creator
 * @export
 */
export declare const UserApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Removes verification for an eth address for the user \\ (In order to delete verification `signer_uuid` must be approved)
     * @summary Delete verification
     * @param {RemoveVerificationReqBody} removeVerificationReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/delete-verification)
     *
     */
    deleteVerification: (removeVerificationReqBody: RemoveVerificationReqBody, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Fetches information about multiple users based on FIDs
     * @summary By FIDs
     * @param {string} fids Comma separated list of FIDs, up to 100 at a time
     * @param {number} [viewerFid]
     * @param {boolean} [xNeynarExperimental] Enables experimental features
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<BulkUsersResponse>} A promise that resolves to a `BulkUsersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-bulk-users)
     *
     */
    fetchBulkUsers: (fids: string, viewerFid?: number, xNeynarExperimental?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Fetches all users based on multiple Ethereum or Solana addresses.  Each farcaster user has a custody Ethereum address and optionally verified Ethereum or Solana addresses. This endpoint returns all users that have any of the given addresses as their custody or verified Ethereum or Solana addresses.  A custody address can be associated with only 1 farcaster user at a time but a verified address can be associated with multiple users. You can pass in Ethereum and Solana addresses, comma separated, in the same request. The response will contain users associated with the given addresses.
     * @summary By Eth or Sol addresses
     * @param {string} addresses Comma separated list of Ethereum addresses, up to 350 at a time
     * @param {Array<BulkUserAddressType>} [addressTypes] Customize which address types the request should search for. This is a comma-separated string that can include the following values: \&#39;custody_address\&#39; and \&#39;verified_address\&#39;. By default api returns both. To select multiple types, use a comma-separated list of these values.
     * @param {number} [viewerFid]
     * @param {boolean} [xNeynarExperimental] Enables experimental features
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<BulkUsersByAddressResponse>} A promise that resolves to a `BulkUsersByAddressResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-bulk-users-by-eth-or-sol-address)
     *
     */
    fetchBulkUsersByEthOrSolAddress: (addresses: string, addressTypes?: Array<BulkUserAddressType>, viewerFid?: number, xNeynarExperimental?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Fetches power users based on Warpcast power badges. Information is updated once a day.
     * @summary Power users
     * @param {number} [viewerFid]
     * @param {number} [limit] Number of power users to fetch  (Default: 25, Maximum: 100)
     * @param {string} [cursor] Pagination cursor.
     * @param {boolean} [xNeynarExperimental] Enables experimental features
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UsersResponse>} A promise that resolves to a `UsersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-power-users)
     *
     */
    fetchPowerUsers: (viewerFid?: number, limit?: number, cursor?: string, xNeynarExperimental?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Fetches power users and respond in a backwards compatible format to Warpcast\'s deprecated power badge endpoint.
     * @summary Power user FIDs
     * @param {boolean} [xNeynarExperimental] Enables experimental features
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UserPowerLiteResponse>} A promise that resolves to a `UserPowerLiteResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-power-users-lite)
     *
     */
    fetchPowerUsersLite: (xNeynarExperimental?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Fetches a list of users given a location
     * @summary By location
     * @param {number} latitude Latitude of the location
     * @param {number} longitude Longitude of the location
     * @param {number} [viewerFid] FID of the user viewing the feed. Providing this will return a list of users that respects this user\&#39;s mutes and blocks and includes &#x60;viewer_context&#x60;.
     * @param {number} [limit] Number of results to fetch  (Default: 25, Maximum: 100)
     * @param {string} [cursor] Pagination cursor
     * @param {boolean} [xNeynarExperimental] Enables experimental features
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UsersResponse>} A promise that resolves to a `UsersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-users-by-location)
     *
     */
    fetchUsersByLocation: (latitude: number, longitude: number, viewerFid?: number, limit?: number, cursor?: string, xNeynarExperimental?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Follow a user \\ (In order to follow a user `signer_uuid` must be approved)
     * @summary Follow user
     * @param {FollowReqBody} followReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<BulkFollowResponse>} A promise that resolves to a `BulkFollowResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/follow-user)
     *
     */
    followUser: (followReqBody: FollowReqBody, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Fetches FID to [assign it to new user](https://docs.neynar.com/reference/register-account)
     * @summary Fetch fresh FID
     * @param {boolean} [xNeynarExperimental] Enables experimental features
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UserFIDResponse>} A promise that resolves to a `UserFIDResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/get-fresh-account-fid)
     *
     */
    getFreshAccountFID: (xNeynarExperimental?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Lookup a user by custody-address
     * @summary By custody-address
     * @param {string} custodyAddress Custody Address associated with mnemonic
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UserResponse>} A promise that resolves to a `UserResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-user-by-custody-address)
     *
     */
    lookupUserByCustodyAddress: (custodyAddress: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Fetches a single hydrated user object given a username
     * @summary By username
     * @param {string} username Username of the user to fetch
     * @param {number} [viewerFid]
     * @param {boolean} [xNeynarExperimental] Enables experimental features
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UserResponse>} A promise that resolves to a `UserResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-user-by-username)
     *
     */
    lookupUserByUsername: (username: string, viewerFid?: number, xNeynarExperimental?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Adds verification for an eth address or contract for the user \\ (In order to add verification `signer_uuid` must be approved)
     * @summary Add verification
     * @param {AddVerificationReqBody} addVerificationReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/publish-verification)
     *
     */
    publishVerification: (addVerificationReqBody: AddVerificationReqBody, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Register account on farcaster.  **Note:** This API must be called within 10 minutes of the fetch FID API call (i.e., /v2/farcaster/user/fid). Otherwise, Neynar will assign this FID to another available user.
     * @summary Register new account
     * @param {RegisterUserReqBody} registerUserReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<RegisterUserResponse>} A promise that resolves to a `RegisterUserResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/register-account)
     *
     */
    registerAccount: (registerUserReqBody: RegisterUserReqBody, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Search for Usernames
     * @summary Search for Usernames
     * @param {string} q
     * @param {number} [viewerFid] Providing this will return search results that respects this user\&#39;s mutes and blocks and includes &#x60;viewer_context&#x60;.
     * @param {number} [limit] Number of users to fetch  (Default: 5, Maximum: 10)
     * @param {string} [cursor] Pagination cursor.
     * @param {boolean} [xNeynarExperimental] Enables experimental features
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UserSearchResponse>} A promise that resolves to a `UserSearchResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/search-user)
     *
     */
    searchUser: (q: string, viewerFid?: number, limit?: number, cursor?: string, xNeynarExperimental?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Unfollow a user \\ (In order to unfollow a user `signer_uuid` must be approved)
     * @summary Unfollow user
     * @param {FollowReqBody} followReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<BulkFollowResponse>} A promise that resolves to a `BulkFollowResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/unfollow-user)
     *
     */
    unfollowUser: (followReqBody: FollowReqBody, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Update user profile \\ (In order to update user\'s profile `signer_uuid` must be approved)
     * @summary Update user profile
     * @param {UpdateUserReqBody} updateUserReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/update-user)
     *
     */
    updateUser: (updateUserReqBody: UpdateUserReqBody, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * UserApi - functional programming interface
 * @export
 */
export declare const UserApiFp: (configuration?: Configuration) => {
    /**
     * Removes verification for an eth address for the user \\ (In order to delete verification `signer_uuid` must be approved)
     * @summary Delete verification
     * @param {RemoveVerificationReqBody} removeVerificationReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/delete-verification)
     *
     */
    deleteVerification(removeVerificationReqBody: RemoveVerificationReqBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OperationResponse>>;
    /**
     * Fetches information about multiple users based on FIDs
     * @summary By FIDs
     * @param {string} fids Comma separated list of FIDs, up to 100 at a time
     * @param {number} [viewerFid]
     * @param {boolean} [xNeynarExperimental] Enables experimental features
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<BulkUsersResponse>} A promise that resolves to a `BulkUsersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-bulk-users)
     *
     */
    fetchBulkUsers(fids: string, viewerFid?: number, xNeynarExperimental?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BulkUsersResponse>>;
    /**
     * Fetches all users based on multiple Ethereum or Solana addresses.  Each farcaster user has a custody Ethereum address and optionally verified Ethereum or Solana addresses. This endpoint returns all users that have any of the given addresses as their custody or verified Ethereum or Solana addresses.  A custody address can be associated with only 1 farcaster user at a time but a verified address can be associated with multiple users. You can pass in Ethereum and Solana addresses, comma separated, in the same request. The response will contain users associated with the given addresses.
     * @summary By Eth or Sol addresses
     * @param {string} addresses Comma separated list of Ethereum addresses, up to 350 at a time
     * @param {Array<BulkUserAddressType>} [addressTypes] Customize which address types the request should search for. This is a comma-separated string that can include the following values: \&#39;custody_address\&#39; and \&#39;verified_address\&#39;. By default api returns both. To select multiple types, use a comma-separated list of these values.
     * @param {number} [viewerFid]
     * @param {boolean} [xNeynarExperimental] Enables experimental features
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<BulkUsersByAddressResponse>} A promise that resolves to a `BulkUsersByAddressResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-bulk-users-by-eth-or-sol-address)
     *
     */
    fetchBulkUsersByEthOrSolAddress(addresses: string, addressTypes?: Array<BulkUserAddressType>, viewerFid?: number, xNeynarExperimental?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BulkUsersByAddressResponse>>;
    /**
     * Fetches power users based on Warpcast power badges. Information is updated once a day.
     * @summary Power users
     * @param {number} [viewerFid]
     * @param {number} [limit] Number of power users to fetch  (Default: 25, Maximum: 100)
     * @param {string} [cursor] Pagination cursor.
     * @param {boolean} [xNeynarExperimental] Enables experimental features
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UsersResponse>} A promise that resolves to a `UsersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-power-users)
     *
     */
    fetchPowerUsers(viewerFid?: number, limit?: number, cursor?: string, xNeynarExperimental?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UsersResponse>>;
    /**
     * Fetches power users and respond in a backwards compatible format to Warpcast\'s deprecated power badge endpoint.
     * @summary Power user FIDs
     * @param {boolean} [xNeynarExperimental] Enables experimental features
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UserPowerLiteResponse>} A promise that resolves to a `UserPowerLiteResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-power-users-lite)
     *
     */
    fetchPowerUsersLite(xNeynarExperimental?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserPowerLiteResponse>>;
    /**
     * Fetches a list of users given a location
     * @summary By location
     * @param {number} latitude Latitude of the location
     * @param {number} longitude Longitude of the location
     * @param {number} [viewerFid] FID of the user viewing the feed. Providing this will return a list of users that respects this user\&#39;s mutes and blocks and includes &#x60;viewer_context&#x60;.
     * @param {number} [limit] Number of results to fetch  (Default: 25, Maximum: 100)
     * @param {string} [cursor] Pagination cursor
     * @param {boolean} [xNeynarExperimental] Enables experimental features
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UsersResponse>} A promise that resolves to a `UsersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-users-by-location)
     *
     */
    fetchUsersByLocation(latitude: number, longitude: number, viewerFid?: number, limit?: number, cursor?: string, xNeynarExperimental?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UsersResponse>>;
    /**
     * Follow a user \\ (In order to follow a user `signer_uuid` must be approved)
     * @summary Follow user
     * @param {FollowReqBody} followReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<BulkFollowResponse>} A promise that resolves to a `BulkFollowResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/follow-user)
     *
     */
    followUser(followReqBody: FollowReqBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BulkFollowResponse>>;
    /**
     * Fetches FID to [assign it to new user](https://docs.neynar.com/reference/register-account)
     * @summary Fetch fresh FID
     * @param {boolean} [xNeynarExperimental] Enables experimental features
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UserFIDResponse>} A promise that resolves to a `UserFIDResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/get-fresh-account-fid)
     *
     */
    getFreshAccountFID(xNeynarExperimental?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserFIDResponse>>;
    /**
     * Lookup a user by custody-address
     * @summary By custody-address
     * @param {string} custodyAddress Custody Address associated with mnemonic
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UserResponse>} A promise that resolves to a `UserResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-user-by-custody-address)
     *
     */
    lookupUserByCustodyAddress(custodyAddress: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserResponse>>;
    /**
     * Fetches a single hydrated user object given a username
     * @summary By username
     * @param {string} username Username of the user to fetch
     * @param {number} [viewerFid]
     * @param {boolean} [xNeynarExperimental] Enables experimental features
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UserResponse>} A promise that resolves to a `UserResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-user-by-username)
     *
     */
    lookupUserByUsername(username: string, viewerFid?: number, xNeynarExperimental?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserResponse>>;
    /**
     * Adds verification for an eth address or contract for the user \\ (In order to add verification `signer_uuid` must be approved)
     * @summary Add verification
     * @param {AddVerificationReqBody} addVerificationReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/publish-verification)
     *
     */
    publishVerification(addVerificationReqBody: AddVerificationReqBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OperationResponse>>;
    /**
     * Register account on farcaster.  **Note:** This API must be called within 10 minutes of the fetch FID API call (i.e., /v2/farcaster/user/fid). Otherwise, Neynar will assign this FID to another available user.
     * @summary Register new account
     * @param {RegisterUserReqBody} registerUserReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<RegisterUserResponse>} A promise that resolves to a `RegisterUserResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/register-account)
     *
     */
    registerAccount(registerUserReqBody: RegisterUserReqBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RegisterUserResponse>>;
    /**
     * Search for Usernames
     * @summary Search for Usernames
     * @param {string} q
     * @param {number} [viewerFid] Providing this will return search results that respects this user\&#39;s mutes and blocks and includes &#x60;viewer_context&#x60;.
     * @param {number} [limit] Number of users to fetch  (Default: 5, Maximum: 10)
     * @param {string} [cursor] Pagination cursor.
     * @param {boolean} [xNeynarExperimental] Enables experimental features
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UserSearchResponse>} A promise that resolves to a `UserSearchResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/search-user)
     *
     */
    searchUser(q: string, viewerFid?: number, limit?: number, cursor?: string, xNeynarExperimental?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserSearchResponse>>;
    /**
     * Unfollow a user \\ (In order to unfollow a user `signer_uuid` must be approved)
     * @summary Unfollow user
     * @param {FollowReqBody} followReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<BulkFollowResponse>} A promise that resolves to a `BulkFollowResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/unfollow-user)
     *
     */
    unfollowUser(followReqBody: FollowReqBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BulkFollowResponse>>;
    /**
     * Update user profile \\ (In order to update user\'s profile `signer_uuid` must be approved)
     * @summary Update user profile
     * @param {UpdateUserReqBody} updateUserReqBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/update-user)
     *
     */
    updateUser(updateUserReqBody: UpdateUserReqBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OperationResponse>>;
};
/**
 * UserApi - factory interface
 * @export
 */
export declare const UserApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Removes verification for an eth address for the user \\ (In order to delete verification `signer_uuid` must be approved)
     * @summary Delete verification
     * @param {UserApiDeleteVerificationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/delete-verification)
     *
     */
    deleteVerification(requestParameters: UserApiDeleteVerificationRequest, options?: RawAxiosRequestConfig): AxiosPromise<OperationResponse>;
    /**
     * Fetches information about multiple users based on FIDs
     * @summary By FIDs
     * @param {UserApiFetchBulkUsersRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<BulkUsersResponse>} A promise that resolves to a `BulkUsersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-bulk-users)
     *
     */
    fetchBulkUsers(requestParameters: UserApiFetchBulkUsersRequest, options?: RawAxiosRequestConfig): AxiosPromise<BulkUsersResponse>;
    /**
     * Fetches all users based on multiple Ethereum or Solana addresses.  Each farcaster user has a custody Ethereum address and optionally verified Ethereum or Solana addresses. This endpoint returns all users that have any of the given addresses as their custody or verified Ethereum or Solana addresses.  A custody address can be associated with only 1 farcaster user at a time but a verified address can be associated with multiple users. You can pass in Ethereum and Solana addresses, comma separated, in the same request. The response will contain users associated with the given addresses.
     * @summary By Eth or Sol addresses
     * @param {UserApiFetchBulkUsersByEthOrSolAddressRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<BulkUsersByAddressResponse>} A promise that resolves to a `BulkUsersByAddressResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-bulk-users-by-eth-or-sol-address)
     *
     */
    fetchBulkUsersByEthOrSolAddress(requestParameters: UserApiFetchBulkUsersByEthOrSolAddressRequest, options?: RawAxiosRequestConfig): AxiosPromise<BulkUsersByAddressResponse>;
    /**
     * Fetches power users based on Warpcast power badges. Information is updated once a day.
     * @summary Power users
     * @param {UserApiFetchPowerUsersRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UsersResponse>} A promise that resolves to a `UsersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-power-users)
     *
     */
    fetchPowerUsers(requestParameters?: UserApiFetchPowerUsersRequest, options?: RawAxiosRequestConfig): AxiosPromise<UsersResponse>;
    /**
     * Fetches power users and respond in a backwards compatible format to Warpcast\'s deprecated power badge endpoint.
     * @summary Power user FIDs
     * @param {UserApiFetchPowerUsersLiteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UserPowerLiteResponse>} A promise that resolves to a `UserPowerLiteResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-power-users-lite)
     *
     */
    fetchPowerUsersLite(requestParameters?: UserApiFetchPowerUsersLiteRequest, options?: RawAxiosRequestConfig): AxiosPromise<UserPowerLiteResponse>;
    /**
     * Fetches a list of users given a location
     * @summary By location
     * @param {UserApiFetchUsersByLocationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UsersResponse>} A promise that resolves to a `UsersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-users-by-location)
     *
     */
    fetchUsersByLocation(requestParameters: UserApiFetchUsersByLocationRequest, options?: RawAxiosRequestConfig): AxiosPromise<UsersResponse>;
    /**
     * Follow a user \\ (In order to follow a user `signer_uuid` must be approved)
     * @summary Follow user
     * @param {UserApiFollowUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<BulkFollowResponse>} A promise that resolves to a `BulkFollowResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/follow-user)
     *
     */
    followUser(requestParameters: UserApiFollowUserRequest, options?: RawAxiosRequestConfig): AxiosPromise<BulkFollowResponse>;
    /**
     * Fetches FID to [assign it to new user](https://docs.neynar.com/reference/register-account)
     * @summary Fetch fresh FID
     * @param {UserApiGetFreshAccountFIDRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UserFIDResponse>} A promise that resolves to a `UserFIDResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/get-fresh-account-fid)
     *
     */
    getFreshAccountFID(requestParameters?: UserApiGetFreshAccountFIDRequest, options?: RawAxiosRequestConfig): AxiosPromise<UserFIDResponse>;
    /**
     * Lookup a user by custody-address
     * @summary By custody-address
     * @param {UserApiLookupUserByCustodyAddressRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UserResponse>} A promise that resolves to a `UserResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-user-by-custody-address)
     *
     */
    lookupUserByCustodyAddress(requestParameters: UserApiLookupUserByCustodyAddressRequest, options?: RawAxiosRequestConfig): AxiosPromise<UserResponse>;
    /**
     * Fetches a single hydrated user object given a username
     * @summary By username
     * @param {UserApiLookupUserByUsernameRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UserResponse>} A promise that resolves to a `UserResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-user-by-username)
     *
     */
    lookupUserByUsername(requestParameters: UserApiLookupUserByUsernameRequest, options?: RawAxiosRequestConfig): AxiosPromise<UserResponse>;
    /**
     * Adds verification for an eth address or contract for the user \\ (In order to add verification `signer_uuid` must be approved)
     * @summary Add verification
     * @param {UserApiPublishVerificationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/publish-verification)
     *
     */
    publishVerification(requestParameters: UserApiPublishVerificationRequest, options?: RawAxiosRequestConfig): AxiosPromise<OperationResponse>;
    /**
     * Register account on farcaster.  **Note:** This API must be called within 10 minutes of the fetch FID API call (i.e., /v2/farcaster/user/fid). Otherwise, Neynar will assign this FID to another available user.
     * @summary Register new account
     * @param {UserApiRegisterAccountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<RegisterUserResponse>} A promise that resolves to a `RegisterUserResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/register-account)
     *
     */
    registerAccount(requestParameters: UserApiRegisterAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise<RegisterUserResponse>;
    /**
     * Search for Usernames
     * @summary Search for Usernames
     * @param {UserApiSearchUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<UserSearchResponse>} A promise that resolves to a `UserSearchResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/search-user)
     *
     */
    searchUser(requestParameters: UserApiSearchUserRequest, options?: RawAxiosRequestConfig): AxiosPromise<UserSearchResponse>;
    /**
     * Unfollow a user \\ (In order to unfollow a user `signer_uuid` must be approved)
     * @summary Unfollow user
     * @param {UserApiUnfollowUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<BulkFollowResponse>} A promise that resolves to a `BulkFollowResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/unfollow-user)
     *
     */
    unfollowUser(requestParameters: UserApiUnfollowUserRequest, options?: RawAxiosRequestConfig): AxiosPromise<BulkFollowResponse>;
    /**
     * Update user profile \\ (In order to update user\'s profile `signer_uuid` must be approved)
     * @summary Update user profile
     * @param {UserApiUpdateUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/update-user)
     *
     */
    updateUser(requestParameters: UserApiUpdateUserRequest, options?: RawAxiosRequestConfig): AxiosPromise<OperationResponse>;
};
/**
 * UserApi - interface
 * @export
 * @interface UserApi
 */
export interface UserApiInterface {
    /**
     * Removes verification for an eth address for the user \\ (In order to delete verification `signer_uuid` must be approved)
     * @summary Delete verification
     * @param {UserApiDeleteVerificationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApiInterface
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/delete-verification)
     *
     */
    deleteVerification(requestParameters: UserApiDeleteVerificationRequest, options?: RawAxiosRequestConfig): AxiosPromise<OperationResponse>;
    /**
     * Fetches information about multiple users based on FIDs
     * @summary By FIDs
     * @param {UserApiFetchBulkUsersRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApiInterface
     * @returns {Promise<BulkUsersResponse>} A promise that resolves to a `BulkUsersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-bulk-users)
     *
     */
    fetchBulkUsers(requestParameters: UserApiFetchBulkUsersRequest, options?: RawAxiosRequestConfig): AxiosPromise<BulkUsersResponse>;
    /**
     * Fetches all users based on multiple Ethereum or Solana addresses.  Each farcaster user has a custody Ethereum address and optionally verified Ethereum or Solana addresses. This endpoint returns all users that have any of the given addresses as their custody or verified Ethereum or Solana addresses.  A custody address can be associated with only 1 farcaster user at a time but a verified address can be associated with multiple users. You can pass in Ethereum and Solana addresses, comma separated, in the same request. The response will contain users associated with the given addresses.
     * @summary By Eth or Sol addresses
     * @param {UserApiFetchBulkUsersByEthOrSolAddressRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApiInterface
     * @returns {Promise<BulkUsersByAddressResponse>} A promise that resolves to a `BulkUsersByAddressResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-bulk-users-by-eth-or-sol-address)
     *
     */
    fetchBulkUsersByEthOrSolAddress(requestParameters: UserApiFetchBulkUsersByEthOrSolAddressRequest, options?: RawAxiosRequestConfig): AxiosPromise<BulkUsersByAddressResponse>;
    /**
     * Fetches power users based on Warpcast power badges. Information is updated once a day.
     * @summary Power users
     * @param {UserApiFetchPowerUsersRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApiInterface
     * @returns {Promise<UsersResponse>} A promise that resolves to a `UsersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-power-users)
     *
     */
    fetchPowerUsers(requestParameters?: UserApiFetchPowerUsersRequest, options?: RawAxiosRequestConfig): AxiosPromise<UsersResponse>;
    /**
     * Fetches power users and respond in a backwards compatible format to Warpcast\'s deprecated power badge endpoint.
     * @summary Power user FIDs
     * @param {UserApiFetchPowerUsersLiteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApiInterface
     * @returns {Promise<UserPowerLiteResponse>} A promise that resolves to a `UserPowerLiteResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-power-users-lite)
     *
     */
    fetchPowerUsersLite(requestParameters?: UserApiFetchPowerUsersLiteRequest, options?: RawAxiosRequestConfig): AxiosPromise<UserPowerLiteResponse>;
    /**
     * Fetches a list of users given a location
     * @summary By location
     * @param {UserApiFetchUsersByLocationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApiInterface
     * @returns {Promise<UsersResponse>} A promise that resolves to a `UsersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-users-by-location)
     *
     */
    fetchUsersByLocation(requestParameters: UserApiFetchUsersByLocationRequest, options?: RawAxiosRequestConfig): AxiosPromise<UsersResponse>;
    /**
     * Follow a user \\ (In order to follow a user `signer_uuid` must be approved)
     * @summary Follow user
     * @param {UserApiFollowUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApiInterface
     * @returns {Promise<BulkFollowResponse>} A promise that resolves to a `BulkFollowResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/follow-user)
     *
     */
    followUser(requestParameters: UserApiFollowUserRequest, options?: RawAxiosRequestConfig): AxiosPromise<BulkFollowResponse>;
    /**
     * Fetches FID to [assign it to new user](https://docs.neynar.com/reference/register-account)
     * @summary Fetch fresh FID
     * @param {UserApiGetFreshAccountFIDRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApiInterface
     * @returns {Promise<UserFIDResponse>} A promise that resolves to a `UserFIDResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/get-fresh-account-fid)
     *
     */
    getFreshAccountFID(requestParameters?: UserApiGetFreshAccountFIDRequest, options?: RawAxiosRequestConfig): AxiosPromise<UserFIDResponse>;
    /**
     * Lookup a user by custody-address
     * @summary By custody-address
     * @param {UserApiLookupUserByCustodyAddressRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApiInterface
     * @returns {Promise<UserResponse>} A promise that resolves to a `UserResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-user-by-custody-address)
     *
     */
    lookupUserByCustodyAddress(requestParameters: UserApiLookupUserByCustodyAddressRequest, options?: RawAxiosRequestConfig): AxiosPromise<UserResponse>;
    /**
     * Fetches a single hydrated user object given a username
     * @summary By username
     * @param {UserApiLookupUserByUsernameRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApiInterface
     * @returns {Promise<UserResponse>} A promise that resolves to a `UserResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-user-by-username)
     *
     */
    lookupUserByUsername(requestParameters: UserApiLookupUserByUsernameRequest, options?: RawAxiosRequestConfig): AxiosPromise<UserResponse>;
    /**
     * Adds verification for an eth address or contract for the user \\ (In order to add verification `signer_uuid` must be approved)
     * @summary Add verification
     * @param {UserApiPublishVerificationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApiInterface
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/publish-verification)
     *
     */
    publishVerification(requestParameters: UserApiPublishVerificationRequest, options?: RawAxiosRequestConfig): AxiosPromise<OperationResponse>;
    /**
     * Register account on farcaster.  **Note:** This API must be called within 10 minutes of the fetch FID API call (i.e., /v2/farcaster/user/fid). Otherwise, Neynar will assign this FID to another available user.
     * @summary Register new account
     * @param {UserApiRegisterAccountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApiInterface
     * @returns {Promise<RegisterUserResponse>} A promise that resolves to a `RegisterUserResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/register-account)
     *
     */
    registerAccount(requestParameters: UserApiRegisterAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise<RegisterUserResponse>;
    /**
     * Search for Usernames
     * @summary Search for Usernames
     * @param {UserApiSearchUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApiInterface
     * @returns {Promise<UserSearchResponse>} A promise that resolves to a `UserSearchResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/search-user)
     *
     */
    searchUser(requestParameters: UserApiSearchUserRequest, options?: RawAxiosRequestConfig): AxiosPromise<UserSearchResponse>;
    /**
     * Unfollow a user \\ (In order to unfollow a user `signer_uuid` must be approved)
     * @summary Unfollow user
     * @param {UserApiUnfollowUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApiInterface
     * @returns {Promise<BulkFollowResponse>} A promise that resolves to a `BulkFollowResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/unfollow-user)
     *
     */
    unfollowUser(requestParameters: UserApiUnfollowUserRequest, options?: RawAxiosRequestConfig): AxiosPromise<BulkFollowResponse>;
    /**
     * Update user profile \\ (In order to update user\'s profile `signer_uuid` must be approved)
     * @summary Update user profile
     * @param {UserApiUpdateUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApiInterface
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/update-user)
     *
     */
    updateUser(requestParameters: UserApiUpdateUserRequest, options?: RawAxiosRequestConfig): AxiosPromise<OperationResponse>;
}
/**
 * Request parameters for deleteVerification operation in UserApi.
 * @export
 * @interface UserApiDeleteVerificationRequest
 */
export interface UserApiDeleteVerificationRequest {
    /**
     *
     *
     *
     *
     * @type {RemoveVerificationReqBody}
     * @memberof UserApiDeleteVerification
     */
    readonly removeVerificationReqBody: RemoveVerificationReqBody;
}
/**
 * Request parameters for fetchBulkUsers operation in UserApi.
 * @export
 * @interface UserApiFetchBulkUsersRequest
 */
export interface UserApiFetchBulkUsersRequest {
    /**
     * Comma separated list of FIDs, up to 100 at a time
     * @acceptAs integer
     * @commaSeparated
     *
     * @type {string}
     * @memberof UserApiFetchBulkUsers
     */
    readonly fids: string;
    /**
     *
     *
     *
     *
     * @type {number}
     * @memberof UserApiFetchBulkUsers
     */
    readonly viewerFid?: number;
    /**
     * Enables experimental features
     *
     *
     * @globalHeader
     * @type {boolean}
     * @memberof UserApiFetchBulkUsers
     */
    readonly xNeynarExperimental?: boolean;
}
/**
 * Request parameters for fetchBulkUsersByEthOrSolAddress operation in UserApi.
 * @export
 * @interface UserApiFetchBulkUsersByEthOrSolAddressRequest
 */
export interface UserApiFetchBulkUsersByEthOrSolAddressRequest {
    /**
     * Comma separated list of Ethereum addresses, up to 350 at a time
     *
     * @commaSeparated
     *
     * @type {string}
     * @memberof UserApiFetchBulkUsersByEthOrSolAddress
     */
    readonly addresses: string;
    /**
     * Customize which address types the request should search for. This is a comma-separated string that can include the following values: \&#39;custody_address\&#39; and \&#39;verified_address\&#39;. By default api returns both. To select multiple types, use a comma-separated list of these values.
     *
     *
     *
     * @type {Array<BulkUserAddressType>}
     * @memberof UserApiFetchBulkUsersByEthOrSolAddress
     */
    readonly addressTypes?: Array<BulkUserAddressType>;
    /**
     *
     *
     *
     *
     * @type {number}
     * @memberof UserApiFetchBulkUsersByEthOrSolAddress
     */
    readonly viewerFid?: number;
    /**
     * Enables experimental features
     *
     *
     * @globalHeader
     * @type {boolean}
     * @memberof UserApiFetchBulkUsersByEthOrSolAddress
     */
    readonly xNeynarExperimental?: boolean;
}
/**
 * Request parameters for fetchPowerUsers operation in UserApi.
 * @export
 * @interface UserApiFetchPowerUsersRequest
 */
export interface UserApiFetchPowerUsersRequest {
    /**
     *
     *
     *
     *
     * @type {number}
     * @memberof UserApiFetchPowerUsers
     */
    readonly viewerFid?: number;
    /**
     * Number of power users to fetch (Default: 25, Maximum: 100)
     *
     *
     *
     * @type {number}
     * @memberof UserApiFetchPowerUsers
     */
    readonly limit?: number;
    /**
     * Pagination cursor.
     *
     *
     *
     * @type {string}
     * @memberof UserApiFetchPowerUsers
     */
    readonly cursor?: string;
    /**
     * Enables experimental features
     *
     *
     * @globalHeader
     * @type {boolean}
     * @memberof UserApiFetchPowerUsers
     */
    readonly xNeynarExperimental?: boolean;
}
/**
 * Request parameters for fetchPowerUsersLite operation in UserApi.
 * @export
 * @interface UserApiFetchPowerUsersLiteRequest
 */
export interface UserApiFetchPowerUsersLiteRequest {
    /**
     * Enables experimental features
     *
     *
     * @globalHeader
     * @type {boolean}
     * @memberof UserApiFetchPowerUsersLite
     */
    readonly xNeynarExperimental?: boolean;
}
/**
 * Request parameters for fetchUsersByLocation operation in UserApi.
 * @export
 * @interface UserApiFetchUsersByLocationRequest
 */
export interface UserApiFetchUsersByLocationRequest {
    /**
     * Latitude of the location
     *
     *
     *
     * @type {number}
     * @memberof UserApiFetchUsersByLocation
     */
    readonly latitude: number;
    /**
     * Longitude of the location
     *
     *
     *
     * @type {number}
     * @memberof UserApiFetchUsersByLocation
     */
    readonly longitude: number;
    /**
     * FID of the user viewing the feed. Providing this will return a list of users that respects this user\&#39;s mutes and blocks and includes &#x60;viewer_context&#x60;.
     *
     *
     *
     * @type {number}
     * @memberof UserApiFetchUsersByLocation
     */
    readonly viewerFid?: number;
    /**
     * Number of results to fetch (Default: 25, Maximum: 100)
     *
     *
     *
     * @type {number}
     * @memberof UserApiFetchUsersByLocation
     */
    readonly limit?: number;
    /**
     * Pagination cursor
     *
     *
     *
     * @type {string}
     * @memberof UserApiFetchUsersByLocation
     */
    readonly cursor?: string;
    /**
     * Enables experimental features
     *
     *
     * @globalHeader
     * @type {boolean}
     * @memberof UserApiFetchUsersByLocation
     */
    readonly xNeynarExperimental?: boolean;
}
/**
 * Request parameters for followUser operation in UserApi.
 * @export
 * @interface UserApiFollowUserRequest
 */
export interface UserApiFollowUserRequest {
    /**
     *
     *
     *
     *
     * @type {FollowReqBody}
     * @memberof UserApiFollowUser
     */
    readonly followReqBody: FollowReqBody;
}
/**
 * Request parameters for getFreshAccountFID operation in UserApi.
 * @export
 * @interface UserApiGetFreshAccountFIDRequest
 */
export interface UserApiGetFreshAccountFIDRequest {
    /**
     * Enables experimental features
     *
     *
     * @globalHeader
     * @type {boolean}
     * @memberof UserApiGetFreshAccountFID
     */
    readonly xNeynarExperimental?: boolean;
}
/**
 * Request parameters for lookupUserByCustodyAddress operation in UserApi.
 * @export
 * @interface UserApiLookupUserByCustodyAddressRequest
 */
export interface UserApiLookupUserByCustodyAddressRequest {
    /**
     * Custody Address associated with mnemonic
     *
     *
     *
     * @type {string}
     * @memberof UserApiLookupUserByCustodyAddress
     */
    readonly custodyAddress: string;
}
/**
 * Request parameters for lookupUserByUsername operation in UserApi.
 * @export
 * @interface UserApiLookupUserByUsernameRequest
 */
export interface UserApiLookupUserByUsernameRequest {
    /**
     * Username of the user to fetch
     *
     *
     *
     * @type {string}
     * @memberof UserApiLookupUserByUsername
     */
    readonly username: string;
    /**
     *
     *
     *
     *
     * @type {number}
     * @memberof UserApiLookupUserByUsername
     */
    readonly viewerFid?: number;
    /**
     * Enables experimental features
     *
     *
     * @globalHeader
     * @type {boolean}
     * @memberof UserApiLookupUserByUsername
     */
    readonly xNeynarExperimental?: boolean;
}
/**
 * Request parameters for publishVerification operation in UserApi.
 * @export
 * @interface UserApiPublishVerificationRequest
 */
export interface UserApiPublishVerificationRequest {
    /**
     *
     *
     *
     *
     * @type {AddVerificationReqBody}
     * @memberof UserApiPublishVerification
     */
    readonly addVerificationReqBody: AddVerificationReqBody;
}
/**
 * Request parameters for registerAccount operation in UserApi.
 * @export
 * @interface UserApiRegisterAccountRequest
 */
export interface UserApiRegisterAccountRequest {
    /**
     *
     *
     *
     *
     * @type {RegisterUserReqBody}
     * @memberof UserApiRegisterAccount
     */
    readonly registerUserReqBody: RegisterUserReqBody;
}
/**
 * Request parameters for searchUser operation in UserApi.
 * @export
 * @interface UserApiSearchUserRequest
 */
export interface UserApiSearchUserRequest {
    /**
     *
     *
     *
     *
     * @type {string}
     * @memberof UserApiSearchUser
     */
    readonly q: string;
    /**
     * Providing this will return search results that respects this user\&#39;s mutes and blocks and includes &#x60;viewer_context&#x60;.
     *
     *
     *
     * @type {number}
     * @memberof UserApiSearchUser
     */
    readonly viewerFid?: number;
    /**
     * Number of users to fetch (Default: 5, Maximum: 10)
     *
     *
     *
     * @type {number}
     * @memberof UserApiSearchUser
     */
    readonly limit?: number;
    /**
     * Pagination cursor.
     *
     *
     *
     * @type {string}
     * @memberof UserApiSearchUser
     */
    readonly cursor?: string;
    /**
     * Enables experimental features
     *
     *
     * @globalHeader
     * @type {boolean}
     * @memberof UserApiSearchUser
     */
    readonly xNeynarExperimental?: boolean;
}
/**
 * Request parameters for unfollowUser operation in UserApi.
 * @export
 * @interface UserApiUnfollowUserRequest
 */
export interface UserApiUnfollowUserRequest {
    /**
     *
     *
     *
     *
     * @type {FollowReqBody}
     * @memberof UserApiUnfollowUser
     */
    readonly followReqBody: FollowReqBody;
}
/**
 * Request parameters for updateUser operation in UserApi.
 * @export
 * @interface UserApiUpdateUserRequest
 */
export interface UserApiUpdateUserRequest {
    /**
     *
     *
     *
     *
     * @type {UpdateUserReqBody}
     * @memberof UserApiUpdateUser
     */
    readonly updateUserReqBody: UpdateUserReqBody;
}
/**
 * UserApi - object-oriented interface
 * @export
 * @class UserApi
 * @extends {BaseAPI}
 */
export declare class UserApi extends BaseAPI implements UserApiInterface {
    /**
     * Removes verification for an eth address for the user \\ (In order to delete verification `signer_uuid` must be approved)
     * @summary Delete verification
     * @param {UserApiDeleteVerificationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApi
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/delete-verification)
     *
     */
    deleteVerification(requestParameters: UserApiDeleteVerificationRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OperationResponse, any>>;
    /**
     * Fetches information about multiple users based on FIDs
     * @summary By FIDs
     * @param {UserApiFetchBulkUsersRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApi
     * @returns {Promise<BulkUsersResponse>} A promise that resolves to a `BulkUsersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-bulk-users)
     *
     */
    fetchBulkUsers(requestParameters: UserApiFetchBulkUsersRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<BulkUsersResponse, any>>;
    /**
     * Fetches all users based on multiple Ethereum or Solana addresses.  Each farcaster user has a custody Ethereum address and optionally verified Ethereum or Solana addresses. This endpoint returns all users that have any of the given addresses as their custody or verified Ethereum or Solana addresses.  A custody address can be associated with only 1 farcaster user at a time but a verified address can be associated with multiple users. You can pass in Ethereum and Solana addresses, comma separated, in the same request. The response will contain users associated with the given addresses.
     * @summary By Eth or Sol addresses
     * @param {UserApiFetchBulkUsersByEthOrSolAddressRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApi
     * @returns {Promise<BulkUsersByAddressResponse>} A promise that resolves to a `BulkUsersByAddressResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-bulk-users-by-eth-or-sol-address)
     *
     */
    fetchBulkUsersByEthOrSolAddress(requestParameters: UserApiFetchBulkUsersByEthOrSolAddressRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<BulkUsersByAddressResponse, any>>;
    /**
     * Fetches power users based on Warpcast power badges. Information is updated once a day.
     * @summary Power users
     * @param {UserApiFetchPowerUsersRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApi
     * @returns {Promise<UsersResponse>} A promise that resolves to a `UsersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-power-users)
     *
     */
    fetchPowerUsers(requestParameters?: UserApiFetchPowerUsersRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<UsersResponse, any>>;
    /**
     * Fetches power users and respond in a backwards compatible format to Warpcast\'s deprecated power badge endpoint.
     * @summary Power user FIDs
     * @param {UserApiFetchPowerUsersLiteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApi
     * @returns {Promise<UserPowerLiteResponse>} A promise that resolves to a `UserPowerLiteResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-power-users-lite)
     *
     */
    fetchPowerUsersLite(requestParameters?: UserApiFetchPowerUsersLiteRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<UserPowerLiteResponse, any>>;
    /**
     * Fetches a list of users given a location
     * @summary By location
     * @param {UserApiFetchUsersByLocationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApi
     * @returns {Promise<UsersResponse>} A promise that resolves to a `UsersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-users-by-location)
     *
     */
    fetchUsersByLocation(requestParameters: UserApiFetchUsersByLocationRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<UsersResponse, any>>;
    /**
     * Follow a user \\ (In order to follow a user `signer_uuid` must be approved)
     * @summary Follow user
     * @param {UserApiFollowUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApi
     * @returns {Promise<BulkFollowResponse>} A promise that resolves to a `BulkFollowResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/follow-user)
     *
     */
    followUser(requestParameters: UserApiFollowUserRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<BulkFollowResponse, any>>;
    /**
     * Fetches FID to [assign it to new user](https://docs.neynar.com/reference/register-account)
     * @summary Fetch fresh FID
     * @param {UserApiGetFreshAccountFIDRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApi
     * @returns {Promise<UserFIDResponse>} A promise that resolves to a `UserFIDResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/get-fresh-account-fid)
     *
     */
    getFreshAccountFID(requestParameters?: UserApiGetFreshAccountFIDRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<UserFIDResponse, any>>;
    /**
     * Lookup a user by custody-address
     * @summary By custody-address
     * @param {UserApiLookupUserByCustodyAddressRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApi
     * @returns {Promise<UserResponse>} A promise that resolves to a `UserResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-user-by-custody-address)
     *
     */
    lookupUserByCustodyAddress(requestParameters: UserApiLookupUserByCustodyAddressRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<UserResponse, any>>;
    /**
     * Fetches a single hydrated user object given a username
     * @summary By username
     * @param {UserApiLookupUserByUsernameRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApi
     * @returns {Promise<UserResponse>} A promise that resolves to a `UserResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/lookup-user-by-username)
     *
     */
    lookupUserByUsername(requestParameters: UserApiLookupUserByUsernameRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<UserResponse, any>>;
    /**
     * Adds verification for an eth address or contract for the user \\ (In order to add verification `signer_uuid` must be approved)
     * @summary Add verification
     * @param {UserApiPublishVerificationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApi
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/publish-verification)
     *
     */
    publishVerification(requestParameters: UserApiPublishVerificationRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OperationResponse, any>>;
    /**
     * Register account on farcaster.  **Note:** This API must be called within 10 minutes of the fetch FID API call (i.e., /v2/farcaster/user/fid). Otherwise, Neynar will assign this FID to another available user.
     * @summary Register new account
     * @param {UserApiRegisterAccountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApi
     * @returns {Promise<RegisterUserResponse>} A promise that resolves to a `RegisterUserResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/register-account)
     *
     */
    registerAccount(requestParameters: UserApiRegisterAccountRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<RegisterUserResponse, any>>;
    /**
     * Search for Usernames
     * @summary Search for Usernames
     * @param {UserApiSearchUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApi
     * @returns {Promise<UserSearchResponse>} A promise that resolves to a `UserSearchResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/search-user)
     *
     */
    searchUser(requestParameters: UserApiSearchUserRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<UserSearchResponse, any>>;
    /**
     * Unfollow a user \\ (In order to unfollow a user `signer_uuid` must be approved)
     * @summary Unfollow user
     * @param {UserApiUnfollowUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApi
     * @returns {Promise<BulkFollowResponse>} A promise that resolves to a `BulkFollowResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/unfollow-user)
     *
     */
    unfollowUser(requestParameters: UserApiUnfollowUserRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<BulkFollowResponse, any>>;
    /**
     * Update user profile \\ (In order to update user\'s profile `signer_uuid` must be approved)
     * @summary Update user profile
     * @param {UserApiUpdateUserRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UserApi
     * @returns {Promise<OperationResponse>} A promise that resolves to a `OperationResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/update-user)
     *
     */
    updateUser(requestParameters: UserApiUpdateUserRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OperationResponse, any>>;
}
