/**
 * 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 { BalanceResponse } from '../models';
import type { DeployFungibleReqBodyMetadataMedia } from '../models';
import type { DeployFungibleResponse } from '../models';
import type { Networks } from '../models';
import type { RelevantFungibleOwnersResponse } from '../models';
/**
 * OnchainApi - axios parameter creator
 * @export
 */
export declare const OnchainApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Creates a new token. This is an allowlisted API, reach out if you want access.
     * @summary Deploy fungible
     * @param {string} owner Ethereum address of the one who is creating the token
     * @param {string} symbol Symbol/Ticker for the token
     * @param {string} name Name of the token
     * @param {DeployFungibleReqBodyMetadataMedia} [metadataMedia]
     * @param {string} [metadataDescription] Description of the token
     * @param {DeployFungibleMetadataNsfwEnum} [metadataNsfw] Indicates if the token is NSFW (Not Safe For Work).
     * @param {string} [metadataWebsiteLink] Website link related to the token
     * @param {string} [metadataTwitter] Twitter profile link
     * @param {string} [metadataDiscord] Discord server link
     * @param {string} [metadataTelegram] Telegram link
     * @param {DeployFungibleNetworkEnum} [network] Network/Chain name
     * @param {DeployFungibleFactoryEnum} [factory] Factory name - wow -&gt; [wow.xyz](https://wow.xyz) - clanker -&gt; [clanker.world](https://www.clanker.world)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<DeployFungibleResponse>} A promise that resolves to a `DeployFungibleResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/deploy-fungible)
     *
     */
    deployFungible: (owner: string, symbol: string, name: string, metadataMedia?: DeployFungibleReqBodyMetadataMedia, metadataDescription?: string, metadataNsfw?: DeployFungibleMetadataNsfwEnum, metadataWebsiteLink?: string, metadataTwitter?: string, metadataDiscord?: string, metadataTelegram?: string, network?: DeployFungibleNetworkEnum, factory?: DeployFungibleFactoryEnum, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Fetch a list of relevant owners for a specific FID. This usually shows on a fungible asset page as \"X, Y, Z and N others you know own this asset\".
     * @summary Relevant owners
     * @param {string} contractAddress Contract address of the fungible asset
     * @param {Array<Networks>} networks Comma separated list of networks to fetch balances for. Currently, only \&quot;base\&quot; is supported.
     * @param {number} viewerFid The FID of the user to customize this response for. Providing this will also return a list of owners that respects this user\&#39;s mutes and blocks and includes &#x60;viewer_context&#x60;.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<RelevantFungibleOwnersResponse>} A promise that resolves to a `RelevantFungibleOwnersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-relevant-fungible-owners)
     *
     */
    fetchRelevantFungibleOwners: (contractAddress: string, networks: Array<Networks>, viewerFid: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Fetches the token balances of a user given their FID
     * @summary Token balance
     * @param {number} fid FID of the user to fetch
     * @param {Array<Networks>} networks Comma separated list of networks to fetch balances for. Currently, only \&quot;base\&quot; is supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<BalanceResponse>} A promise that resolves to a `BalanceResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-user-balance)
     *
     */
    fetchUserBalance: (fid: number, networks: Array<Networks>, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * OnchainApi - functional programming interface
 * @export
 */
export declare const OnchainApiFp: (configuration?: Configuration) => {
    /**
     * Creates a new token. This is an allowlisted API, reach out if you want access.
     * @summary Deploy fungible
     * @param {string} owner Ethereum address of the one who is creating the token
     * @param {string} symbol Symbol/Ticker for the token
     * @param {string} name Name of the token
     * @param {DeployFungibleReqBodyMetadataMedia} [metadataMedia]
     * @param {string} [metadataDescription] Description of the token
     * @param {DeployFungibleMetadataNsfwEnum} [metadataNsfw] Indicates if the token is NSFW (Not Safe For Work).
     * @param {string} [metadataWebsiteLink] Website link related to the token
     * @param {string} [metadataTwitter] Twitter profile link
     * @param {string} [metadataDiscord] Discord server link
     * @param {string} [metadataTelegram] Telegram link
     * @param {DeployFungibleNetworkEnum} [network] Network/Chain name
     * @param {DeployFungibleFactoryEnum} [factory] Factory name - wow -&gt; [wow.xyz](https://wow.xyz) - clanker -&gt; [clanker.world](https://www.clanker.world)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<DeployFungibleResponse>} A promise that resolves to a `DeployFungibleResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/deploy-fungible)
     *
     */
    deployFungible(owner: string, symbol: string, name: string, metadataMedia?: DeployFungibleReqBodyMetadataMedia, metadataDescription?: string, metadataNsfw?: DeployFungibleMetadataNsfwEnum, metadataWebsiteLink?: string, metadataTwitter?: string, metadataDiscord?: string, metadataTelegram?: string, network?: DeployFungibleNetworkEnum, factory?: DeployFungibleFactoryEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeployFungibleResponse>>;
    /**
     * Fetch a list of relevant owners for a specific FID. This usually shows on a fungible asset page as \"X, Y, Z and N others you know own this asset\".
     * @summary Relevant owners
     * @param {string} contractAddress Contract address of the fungible asset
     * @param {Array<Networks>} networks Comma separated list of networks to fetch balances for. Currently, only \&quot;base\&quot; is supported.
     * @param {number} viewerFid The FID of the user to customize this response for. Providing this will also return a list of owners that respects this user\&#39;s mutes and blocks and includes &#x60;viewer_context&#x60;.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<RelevantFungibleOwnersResponse>} A promise that resolves to a `RelevantFungibleOwnersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-relevant-fungible-owners)
     *
     */
    fetchRelevantFungibleOwners(contractAddress: string, networks: Array<Networks>, viewerFid: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RelevantFungibleOwnersResponse>>;
    /**
     * Fetches the token balances of a user given their FID
     * @summary Token balance
     * @param {number} fid FID of the user to fetch
     * @param {Array<Networks>} networks Comma separated list of networks to fetch balances for. Currently, only \&quot;base\&quot; is supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<BalanceResponse>} A promise that resolves to a `BalanceResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-user-balance)
     *
     */
    fetchUserBalance(fid: number, networks: Array<Networks>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BalanceResponse>>;
};
/**
 * OnchainApi - factory interface
 * @export
 */
export declare const OnchainApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Creates a new token. This is an allowlisted API, reach out if you want access.
     * @summary Deploy fungible
     * @param {OnchainApiDeployFungibleRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<DeployFungibleResponse>} A promise that resolves to a `DeployFungibleResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/deploy-fungible)
     *
     */
    deployFungible(requestParameters: OnchainApiDeployFungibleRequest, options?: RawAxiosRequestConfig): AxiosPromise<DeployFungibleResponse>;
    /**
     * Fetch a list of relevant owners for a specific FID. This usually shows on a fungible asset page as \"X, Y, Z and N others you know own this asset\".
     * @summary Relevant owners
     * @param {OnchainApiFetchRelevantFungibleOwnersRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<RelevantFungibleOwnersResponse>} A promise that resolves to a `RelevantFungibleOwnersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-relevant-fungible-owners)
     *
     */
    fetchRelevantFungibleOwners(requestParameters: OnchainApiFetchRelevantFungibleOwnersRequest, options?: RawAxiosRequestConfig): AxiosPromise<RelevantFungibleOwnersResponse>;
    /**
     * Fetches the token balances of a user given their FID
     * @summary Token balance
     * @param {OnchainApiFetchUserBalanceRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @returns {Promise<BalanceResponse>} A promise that resolves to a `BalanceResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-user-balance)
     *
     */
    fetchUserBalance(requestParameters: OnchainApiFetchUserBalanceRequest, options?: RawAxiosRequestConfig): AxiosPromise<BalanceResponse>;
};
/**
 * OnchainApi - interface
 * @export
 * @interface OnchainApi
 */
export interface OnchainApiInterface {
    /**
     * Creates a new token. This is an allowlisted API, reach out if you want access.
     * @summary Deploy fungible
     * @param {OnchainApiDeployFungibleRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OnchainApiInterface
     * @returns {Promise<DeployFungibleResponse>} A promise that resolves to a `DeployFungibleResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/deploy-fungible)
     *
     */
    deployFungible(requestParameters: OnchainApiDeployFungibleRequest, options?: RawAxiosRequestConfig): AxiosPromise<DeployFungibleResponse>;
    /**
     * Fetch a list of relevant owners for a specific FID. This usually shows on a fungible asset page as \"X, Y, Z and N others you know own this asset\".
     * @summary Relevant owners
     * @param {OnchainApiFetchRelevantFungibleOwnersRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OnchainApiInterface
     * @returns {Promise<RelevantFungibleOwnersResponse>} A promise that resolves to a `RelevantFungibleOwnersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-relevant-fungible-owners)
     *
     */
    fetchRelevantFungibleOwners(requestParameters: OnchainApiFetchRelevantFungibleOwnersRequest, options?: RawAxiosRequestConfig): AxiosPromise<RelevantFungibleOwnersResponse>;
    /**
     * Fetches the token balances of a user given their FID
     * @summary Token balance
     * @param {OnchainApiFetchUserBalanceRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OnchainApiInterface
     * @returns {Promise<BalanceResponse>} A promise that resolves to a `BalanceResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-user-balance)
     *
     */
    fetchUserBalance(requestParameters: OnchainApiFetchUserBalanceRequest, options?: RawAxiosRequestConfig): AxiosPromise<BalanceResponse>;
}
/**
 * Request parameters for deployFungible operation in OnchainApi.
 * @export
 * @interface OnchainApiDeployFungibleRequest
 */
export interface OnchainApiDeployFungibleRequest {
    /**
     * Ethereum address of the one who is creating the token
     *
     *
     *
     * @type {string}
     * @memberof OnchainApiDeployFungible
     */
    readonly owner: string;
    /**
     * Symbol/Ticker for the token
     *
     *
     *
     * @type {string}
     * @memberof OnchainApiDeployFungible
     */
    readonly symbol: string;
    /**
     * Name of the token
     *
     *
     *
     * @type {string}
     * @memberof OnchainApiDeployFungible
     */
    readonly name: string;
    /**
     *
     *
     *
     *
     * @type {DeployFungibleReqBodyMetadataMedia}
     * @memberof OnchainApiDeployFungible
     */
    readonly metadataMedia?: DeployFungibleReqBodyMetadataMedia;
    /**
     * Description of the token
     *
     *
     *
     * @type {string}
     * @memberof OnchainApiDeployFungible
     */
    readonly metadataDescription?: string;
    /**
     * Indicates if the token is NSFW (Not Safe For Work).
     *
     *
     *
     * @type {string}
     * @memberof OnchainApiDeployFungible
     */
    readonly metadataNsfw?: DeployFungibleMetadataNsfwEnum;
    /**
     * Website link related to the token
     *
     *
     *
     * @type {string}
     * @memberof OnchainApiDeployFungible
     */
    readonly metadataWebsiteLink?: string;
    /**
     * Twitter profile link
     *
     *
     *
     * @type {string}
     * @memberof OnchainApiDeployFungible
     */
    readonly metadataTwitter?: string;
    /**
     * Discord server link
     *
     *
     *
     * @type {string}
     * @memberof OnchainApiDeployFungible
     */
    readonly metadataDiscord?: string;
    /**
     * Telegram link
     *
     *
     *
     * @type {string}
     * @memberof OnchainApiDeployFungible
     */
    readonly metadataTelegram?: string;
    /**
     * Network/Chain name
     *
     *
     *
     * @type {string}
     * @memberof OnchainApiDeployFungible
     */
    readonly network?: DeployFungibleNetworkEnum;
    /**
     * Factory name - wow -&gt; [wow.xyz](https://wow.xyz) - clanker -&gt; [clanker.world](https://www.clanker.world)
     *
     *
     *
     * @type {string}
     * @memberof OnchainApiDeployFungible
     */
    readonly factory?: DeployFungibleFactoryEnum;
}
/**
 * Request parameters for fetchRelevantFungibleOwners operation in OnchainApi.
 * @export
 * @interface OnchainApiFetchRelevantFungibleOwnersRequest
 */
export interface OnchainApiFetchRelevantFungibleOwnersRequest {
    /**
     * Contract address of the fungible asset
     *
     *
     *
     * @type {string}
     * @memberof OnchainApiFetchRelevantFungibleOwners
     */
    readonly contractAddress: string;
    /**
     * Comma separated list of networks to fetch balances for. Currently, only \&quot;base\&quot; is supported.
     *
     *
     *
     * @type {Array<Networks>}
     * @memberof OnchainApiFetchRelevantFungibleOwners
     */
    readonly networks: Array<Networks>;
    /**
     * The FID of the user to customize this response for. Providing this will also return a list of owners that respects this user\&#39;s mutes and blocks and includes &#x60;viewer_context&#x60;.
     *
     *
     *
     * @type {number}
     * @memberof OnchainApiFetchRelevantFungibleOwners
     */
    readonly viewerFid: number;
}
/**
 * Request parameters for fetchUserBalance operation in OnchainApi.
 * @export
 * @interface OnchainApiFetchUserBalanceRequest
 */
export interface OnchainApiFetchUserBalanceRequest {
    /**
     * FID of the user to fetch
     *
     *
     *
     * @type {number}
     * @memberof OnchainApiFetchUserBalance
     */
    readonly fid: number;
    /**
     * Comma separated list of networks to fetch balances for. Currently, only \&quot;base\&quot; is supported.
     *
     *
     *
     * @type {Array<Networks>}
     * @memberof OnchainApiFetchUserBalance
     */
    readonly networks: Array<Networks>;
}
/**
 * OnchainApi - object-oriented interface
 * @export
 * @class OnchainApi
 * @extends {BaseAPI}
 */
export declare class OnchainApi extends BaseAPI implements OnchainApiInterface {
    /**
     * Creates a new token. This is an allowlisted API, reach out if you want access.
     * @summary Deploy fungible
     * @param {OnchainApiDeployFungibleRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OnchainApi
     * @returns {Promise<DeployFungibleResponse>} A promise that resolves to a `DeployFungibleResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/deploy-fungible)
     *
     */
    deployFungible(requestParameters: OnchainApiDeployFungibleRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<DeployFungibleResponse, any>>;
    /**
     * Fetch a list of relevant owners for a specific FID. This usually shows on a fungible asset page as \"X, Y, Z and N others you know own this asset\".
     * @summary Relevant owners
     * @param {OnchainApiFetchRelevantFungibleOwnersRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OnchainApi
     * @returns {Promise<RelevantFungibleOwnersResponse>} A promise that resolves to a `RelevantFungibleOwnersResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-relevant-fungible-owners)
     *
     */
    fetchRelevantFungibleOwners(requestParameters: OnchainApiFetchRelevantFungibleOwnersRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<RelevantFungibleOwnersResponse, any>>;
    /**
     * Fetches the token balances of a user given their FID
     * @summary Token balance
     * @param {OnchainApiFetchUserBalanceRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OnchainApi
     * @returns {Promise<BalanceResponse>} A promise that resolves to a `BalanceResponse` object
     *
     * For more information, refer to the [API documentation](https://docs.neynar.com/reference/fetch-user-balance)
     *
     */
    fetchUserBalance(requestParameters: OnchainApiFetchUserBalanceRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<BalanceResponse, any>>;
}
/**
 * @export
 */
export declare const DeployFungibleMetadataNsfwEnum: {
    readonly True: "true";
    readonly False: "false";
};
export type DeployFungibleMetadataNsfwEnum = typeof DeployFungibleMetadataNsfwEnum[keyof typeof DeployFungibleMetadataNsfwEnum];
/**
 * @export
 */
export declare const DeployFungibleNetworkEnum: {
    readonly Base: "base";
};
export type DeployFungibleNetworkEnum = typeof DeployFungibleNetworkEnum[keyof typeof DeployFungibleNetworkEnum];
/**
 * @export
 */
export declare const DeployFungibleFactoryEnum: {
    readonly Wow: "wow";
    readonly Clanker: "clanker";
};
export type DeployFungibleFactoryEnum = typeof DeployFungibleFactoryEnum[keyof typeof DeployFungibleFactoryEnum];
