/**
 * Fireblocks API
 * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.  - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
 *
 * The version of the OpenAPI document: 1.6.2
 * Contact: developers@fireblocks.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 { RequestArgs, BaseAPI } from '../base';
import { Asset } from '../models';
import { AssetClass } from '../models';
import { AssetPriceResponse } from '../models';
import { AssetResponse } from '../models';
import { AssetScope } from '../models';
import { BlockchainResponse } from '../models';
import { GetSupportedAssetsResponse } from '../models';
import { ListAssetsResponse } from '../models';
import { ListBlockchainsResponse } from '../models';
import { RegisterNewAssetRequest } from '../models';
import { SetAssetPriceRequest } from '../models';
import { UpdateAssetUserMetadataRequest } from '../models';
/**
 * BlockchainsAssetsApi - axios parameter creator
 * @export
 */
export declare const BlockchainsAssetsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Returns an asset by ID or legacyID.  **Note**:    - We will continue displaying and supporting the legacy ID (API ID). Since not all Fireblocks services fully support the new Assets UUID, please use only the legacy ID until further notice.
     * @summary Get an asset
     * @param {string} id The ID or legacyId of the asset
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAsset: (id: string, idempotencyKey?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a blockchain by ID or legacyID.
     * @summary Get a Blockchain by ID
     * @param {string} id The ID or legacyId of the blockchain
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getBlockchain: (id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * **This legacy endpoint has not been deprecated but it should not be used in your operations. Instead, use the new [List assets](https://developers.fireblocks.com/reference/listassets) endpoint for better performance and to retrieve more detailed asset information.**  Retrieves all assets supported by Fireblocks in your workspace.  **Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary List assets (Legacy)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSupportedAssets: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Retrieves a paginated list of all assets supported by Fireblocks in your workspace  **Note:** We will continue to support and display the legacy ID (API ID). Since not all Fireblocks services fully support the new Assets UUID, please use only the legacy ID until further notice.
     * @summary List assets
     * @param {string} [blockchainId] Blockchain id of the assets
     * @param {AssetClass} [assetClass] Assets class
     * @param {string} [symbol] Assets onchain symbol
     * @param {AssetScope} [scope] Scope of the assets
     * @param {boolean} [deprecated] Are assets deprecated
     * @param {Array<string>} [ids] A list of asset IDs (max 100)
     * @param {string} [pageCursor] Next page cursor to fetch
     * @param {number} [pageSize] Items per page
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listAssets: (blockchainId?: string, assetClass?: AssetClass, symbol?: string, scope?: AssetScope, deprecated?: boolean, ids?: Array<string>, pageCursor?: string, pageSize?: number, idempotencyKey?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns all blockchains supported by Fireblocks.
     * @summary List blockchains
     * @param {string} [protocol] Blockchain protocol
     * @param {boolean} [deprecated] Is blockchain deprecated
     * @param {boolean} [test] Is test blockchain
     * @param {Array<string>} [ids] A list of blockchain IDs (max 100)
     * @param {string} [pageCursor] Page cursor to fetch
     * @param {number} [pageSize] Items per page (max 500)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listBlockchains: (protocol?: string, deprecated?: boolean, test?: boolean, ids?: Array<string>, pageCursor?: string, pageSize?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Register a new asset to a workspace and return the newly created asset\'s details. Currently supported chains are: - EVM based chains - Stellar - Algorand - TRON - NEAR - Solana - Sui - TON
     * @summary Register an asset
     * @param {RegisterNewAssetRequest} [registerNewAssetRequest]
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    registerNewAsset: (registerNewAssetRequest?: RegisterNewAssetRequest, idempotencyKey?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Set asset price for the given asset id. Returns the asset price response.
     * @summary Set asset price
     * @param {string} id The ID of the asset
     * @param {SetAssetPriceRequest} [setAssetPriceRequest]
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    setAssetPrice: (id: string, setAssetPriceRequest?: SetAssetPriceRequest, idempotencyKey?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Update the user’s metadata for an asset.  Endpoint Permission: Owner, Admin, Non-Signing Admin, NCW Admin, Signer, Editor.
     * @summary Update the user’s metadata for an asset
     * @param {string} id The ID or legacyId of the asset
     * @param {UpdateAssetUserMetadataRequest} [updateAssetUserMetadataRequest]
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateAssetUserMetadata: (id: string, updateAssetUserMetadataRequest?: UpdateAssetUserMetadataRequest, idempotencyKey?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * BlockchainsAssetsApi - functional programming interface
 * @export
 */
export declare const BlockchainsAssetsApiFp: (configuration?: Configuration) => {
    /**
     * Returns an asset by ID or legacyID.  **Note**:    - We will continue displaying and supporting the legacy ID (API ID). Since not all Fireblocks services fully support the new Assets UUID, please use only the legacy ID until further notice.
     * @summary Get an asset
     * @param {string} id The ID or legacyId of the asset
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAsset(id: string, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Asset>>;
    /**
     * Returns a blockchain by ID or legacyID.
     * @summary Get a Blockchain by ID
     * @param {string} id The ID or legacyId of the blockchain
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getBlockchain(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BlockchainResponse>>;
    /**
     * **This legacy endpoint has not been deprecated but it should not be used in your operations. Instead, use the new [List assets](https://developers.fireblocks.com/reference/listassets) endpoint for better performance and to retrieve more detailed asset information.**  Retrieves all assets supported by Fireblocks in your workspace.  **Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary List assets (Legacy)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSupportedAssets(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetSupportedAssetsResponse>>;
    /**
     * Retrieves a paginated list of all assets supported by Fireblocks in your workspace  **Note:** We will continue to support and display the legacy ID (API ID). Since not all Fireblocks services fully support the new Assets UUID, please use only the legacy ID until further notice.
     * @summary List assets
     * @param {string} [blockchainId] Blockchain id of the assets
     * @param {AssetClass} [assetClass] Assets class
     * @param {string} [symbol] Assets onchain symbol
     * @param {AssetScope} [scope] Scope of the assets
     * @param {boolean} [deprecated] Are assets deprecated
     * @param {Array<string>} [ids] A list of asset IDs (max 100)
     * @param {string} [pageCursor] Next page cursor to fetch
     * @param {number} [pageSize] Items per page
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listAssets(blockchainId?: string, assetClass?: AssetClass, symbol?: string, scope?: AssetScope, deprecated?: boolean, ids?: Array<string>, pageCursor?: string, pageSize?: number, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListAssetsResponse>>;
    /**
     * Returns all blockchains supported by Fireblocks.
     * @summary List blockchains
     * @param {string} [protocol] Blockchain protocol
     * @param {boolean} [deprecated] Is blockchain deprecated
     * @param {boolean} [test] Is test blockchain
     * @param {Array<string>} [ids] A list of blockchain IDs (max 100)
     * @param {string} [pageCursor] Page cursor to fetch
     * @param {number} [pageSize] Items per page (max 500)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listBlockchains(protocol?: string, deprecated?: boolean, test?: boolean, ids?: Array<string>, pageCursor?: string, pageSize?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListBlockchainsResponse>>;
    /**
     * Register a new asset to a workspace and return the newly created asset\'s details. Currently supported chains are: - EVM based chains - Stellar - Algorand - TRON - NEAR - Solana - Sui - TON
     * @summary Register an asset
     * @param {RegisterNewAssetRequest} [registerNewAssetRequest]
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    registerNewAsset(registerNewAssetRequest?: RegisterNewAssetRequest, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AssetResponse>>;
    /**
     * Set asset price for the given asset id. Returns the asset price response.
     * @summary Set asset price
     * @param {string} id The ID of the asset
     * @param {SetAssetPriceRequest} [setAssetPriceRequest]
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    setAssetPrice(id: string, setAssetPriceRequest?: SetAssetPriceRequest, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AssetPriceResponse>>;
    /**
     * Update the user’s metadata for an asset.  Endpoint Permission: Owner, Admin, Non-Signing Admin, NCW Admin, Signer, Editor.
     * @summary Update the user’s metadata for an asset
     * @param {string} id The ID or legacyId of the asset
     * @param {UpdateAssetUserMetadataRequest} [updateAssetUserMetadataRequest]
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateAssetUserMetadata(id: string, updateAssetUserMetadataRequest?: UpdateAssetUserMetadataRequest, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Asset>>;
};
/**
 * BlockchainsAssetsApi - factory interface
 * @export
 */
export declare const BlockchainsAssetsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Returns an asset by ID or legacyID.  **Note**:    - We will continue displaying and supporting the legacy ID (API ID). Since not all Fireblocks services fully support the new Assets UUID, please use only the legacy ID until further notice.
     * @summary Get an asset
     * @param {BlockchainsAssetsApiGetAssetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAsset(requestParameters: BlockchainsAssetsApiGetAssetRequest, options?: RawAxiosRequestConfig): AxiosPromise<Asset>;
    /**
     * Returns a blockchain by ID or legacyID.
     * @summary Get a Blockchain by ID
     * @param {BlockchainsAssetsApiGetBlockchainRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getBlockchain(requestParameters: BlockchainsAssetsApiGetBlockchainRequest, options?: RawAxiosRequestConfig): AxiosPromise<BlockchainResponse>;
    /**
     * **This legacy endpoint has not been deprecated but it should not be used in your operations. Instead, use the new [List assets](https://developers.fireblocks.com/reference/listassets) endpoint for better performance and to retrieve more detailed asset information.**  Retrieves all assets supported by Fireblocks in your workspace.  **Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary List assets (Legacy)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSupportedAssets(options?: RawAxiosRequestConfig): AxiosPromise<GetSupportedAssetsResponse>;
    /**
     * Retrieves a paginated list of all assets supported by Fireblocks in your workspace  **Note:** We will continue to support and display the legacy ID (API ID). Since not all Fireblocks services fully support the new Assets UUID, please use only the legacy ID until further notice.
     * @summary List assets
     * @param {BlockchainsAssetsApiListAssetsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listAssets(requestParameters?: BlockchainsAssetsApiListAssetsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ListAssetsResponse>;
    /**
     * Returns all blockchains supported by Fireblocks.
     * @summary List blockchains
     * @param {BlockchainsAssetsApiListBlockchainsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listBlockchains(requestParameters?: BlockchainsAssetsApiListBlockchainsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ListBlockchainsResponse>;
    /**
     * Register a new asset to a workspace and return the newly created asset\'s details. Currently supported chains are: - EVM based chains - Stellar - Algorand - TRON - NEAR - Solana - Sui - TON
     * @summary Register an asset
     * @param {BlockchainsAssetsApiRegisterNewAssetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    registerNewAsset(requestParameters?: BlockchainsAssetsApiRegisterNewAssetRequest, options?: RawAxiosRequestConfig): AxiosPromise<AssetResponse>;
    /**
     * Set asset price for the given asset id. Returns the asset price response.
     * @summary Set asset price
     * @param {BlockchainsAssetsApiSetAssetPriceRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    setAssetPrice(requestParameters: BlockchainsAssetsApiSetAssetPriceRequest, options?: RawAxiosRequestConfig): AxiosPromise<AssetPriceResponse>;
    /**
     * Update the user’s metadata for an asset.  Endpoint Permission: Owner, Admin, Non-Signing Admin, NCW Admin, Signer, Editor.
     * @summary Update the user’s metadata for an asset
     * @param {BlockchainsAssetsApiUpdateAssetUserMetadataRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateAssetUserMetadata(requestParameters: BlockchainsAssetsApiUpdateAssetUserMetadataRequest, options?: RawAxiosRequestConfig): AxiosPromise<Asset>;
};
/**
 * Request parameters for getAsset operation in BlockchainsAssetsApi.
 * @export
 * @interface BlockchainsAssetsApiGetAssetRequest
 */
export interface BlockchainsAssetsApiGetAssetRequest {
    /**
     * The ID or legacyId of the asset
     * @type {string}
     * @memberof BlockchainsAssetsApiGetAsset
     */
    readonly id: string;
    /**
     * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @type {string}
     * @memberof BlockchainsAssetsApiGetAsset
     */
    readonly idempotencyKey?: string;
}
/**
 * Request parameters for getBlockchain operation in BlockchainsAssetsApi.
 * @export
 * @interface BlockchainsAssetsApiGetBlockchainRequest
 */
export interface BlockchainsAssetsApiGetBlockchainRequest {
    /**
     * The ID or legacyId of the blockchain
     * @type {string}
     * @memberof BlockchainsAssetsApiGetBlockchain
     */
    readonly id: string;
}
/**
 * Request parameters for listAssets operation in BlockchainsAssetsApi.
 * @export
 * @interface BlockchainsAssetsApiListAssetsRequest
 */
export interface BlockchainsAssetsApiListAssetsRequest {
    /**
     * Blockchain id of the assets
     * @type {string}
     * @memberof BlockchainsAssetsApiListAssets
     */
    readonly blockchainId?: string;
    /**
     * Assets class
     * @type {AssetClass}
     * @memberof BlockchainsAssetsApiListAssets
     */
    readonly assetClass?: AssetClass;
    /**
     * Assets onchain symbol
     * @type {string}
     * @memberof BlockchainsAssetsApiListAssets
     */
    readonly symbol?: string;
    /**
     * Scope of the assets
     * @type {AssetScope}
     * @memberof BlockchainsAssetsApiListAssets
     */
    readonly scope?: AssetScope;
    /**
     * Are assets deprecated
     * @type {boolean}
     * @memberof BlockchainsAssetsApiListAssets
     */
    readonly deprecated?: boolean;
    /**
     * A list of asset IDs (max 100)
     * @type {Array<string>}
     * @memberof BlockchainsAssetsApiListAssets
     */
    readonly ids?: Array<string>;
    /**
     * Next page cursor to fetch
     * @type {string}
     * @memberof BlockchainsAssetsApiListAssets
     */
    readonly pageCursor?: string;
    /**
     * Items per page
     * @type {number}
     * @memberof BlockchainsAssetsApiListAssets
     */
    readonly pageSize?: number;
    /**
     * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @type {string}
     * @memberof BlockchainsAssetsApiListAssets
     */
    readonly idempotencyKey?: string;
}
/**
 * Request parameters for listBlockchains operation in BlockchainsAssetsApi.
 * @export
 * @interface BlockchainsAssetsApiListBlockchainsRequest
 */
export interface BlockchainsAssetsApiListBlockchainsRequest {
    /**
     * Blockchain protocol
     * @type {string}
     * @memberof BlockchainsAssetsApiListBlockchains
     */
    readonly protocol?: string;
    /**
     * Is blockchain deprecated
     * @type {boolean}
     * @memberof BlockchainsAssetsApiListBlockchains
     */
    readonly deprecated?: boolean;
    /**
     * Is test blockchain
     * @type {boolean}
     * @memberof BlockchainsAssetsApiListBlockchains
     */
    readonly test?: boolean;
    /**
     * A list of blockchain IDs (max 100)
     * @type {Array<string>}
     * @memberof BlockchainsAssetsApiListBlockchains
     */
    readonly ids?: Array<string>;
    /**
     * Page cursor to fetch
     * @type {string}
     * @memberof BlockchainsAssetsApiListBlockchains
     */
    readonly pageCursor?: string;
    /**
     * Items per page (max 500)
     * @type {number}
     * @memberof BlockchainsAssetsApiListBlockchains
     */
    readonly pageSize?: number;
}
/**
 * Request parameters for registerNewAsset operation in BlockchainsAssetsApi.
 * @export
 * @interface BlockchainsAssetsApiRegisterNewAssetRequest
 */
export interface BlockchainsAssetsApiRegisterNewAssetRequest {
    /**
     *
     * @type {RegisterNewAssetRequest}
     * @memberof BlockchainsAssetsApiRegisterNewAsset
     */
    readonly registerNewAssetRequest?: RegisterNewAssetRequest;
    /**
     * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @type {string}
     * @memberof BlockchainsAssetsApiRegisterNewAsset
     */
    readonly idempotencyKey?: string;
}
/**
 * Request parameters for setAssetPrice operation in BlockchainsAssetsApi.
 * @export
 * @interface BlockchainsAssetsApiSetAssetPriceRequest
 */
export interface BlockchainsAssetsApiSetAssetPriceRequest {
    /**
     * The ID of the asset
     * @type {string}
     * @memberof BlockchainsAssetsApiSetAssetPrice
     */
    readonly id: string;
    /**
     *
     * @type {SetAssetPriceRequest}
     * @memberof BlockchainsAssetsApiSetAssetPrice
     */
    readonly setAssetPriceRequest?: SetAssetPriceRequest;
    /**
     * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @type {string}
     * @memberof BlockchainsAssetsApiSetAssetPrice
     */
    readonly idempotencyKey?: string;
}
/**
 * Request parameters for updateAssetUserMetadata operation in BlockchainsAssetsApi.
 * @export
 * @interface BlockchainsAssetsApiUpdateAssetUserMetadataRequest
 */
export interface BlockchainsAssetsApiUpdateAssetUserMetadataRequest {
    /**
     * The ID or legacyId of the asset
     * @type {string}
     * @memberof BlockchainsAssetsApiUpdateAssetUserMetadata
     */
    readonly id: string;
    /**
     *
     * @type {UpdateAssetUserMetadataRequest}
     * @memberof BlockchainsAssetsApiUpdateAssetUserMetadata
     */
    readonly updateAssetUserMetadataRequest?: UpdateAssetUserMetadataRequest;
    /**
     * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @type {string}
     * @memberof BlockchainsAssetsApiUpdateAssetUserMetadata
     */
    readonly idempotencyKey?: string;
}
/**
 * BlockchainsAssetsApi - object-oriented interface
 * @export
 * @class BlockchainsAssetsApi
 * @extends {BaseAPI}
 */
export declare class BlockchainsAssetsApi extends BaseAPI {
    /**
     * Returns an asset by ID or legacyID.  **Note**:    - We will continue displaying and supporting the legacy ID (API ID). Since not all Fireblocks services fully support the new Assets UUID, please use only the legacy ID until further notice.
     * @summary Get an asset
     * @param {BlockchainsAssetsApiGetAssetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof BlockchainsAssetsApi
     */
    getAsset(requestParameters: BlockchainsAssetsApiGetAssetRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<Asset>>;
    /**
     * Returns a blockchain by ID or legacyID.
     * @summary Get a Blockchain by ID
     * @param {BlockchainsAssetsApiGetBlockchainRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof BlockchainsAssetsApi
     */
    getBlockchain(requestParameters: BlockchainsAssetsApiGetBlockchainRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<BlockchainResponse>>;
    /**
     * **This legacy endpoint has not been deprecated but it should not be used in your operations. Instead, use the new [List assets](https://developers.fireblocks.com/reference/listassets) endpoint for better performance and to retrieve more detailed asset information.**  Retrieves all assets supported by Fireblocks in your workspace.  **Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor.
     * @summary List assets (Legacy)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof BlockchainsAssetsApi
     */
    getSupportedAssets(): Promise<import("../response/fireblocksResponse").FireblocksResponse<GetSupportedAssetsResponse>>;
    /**
     * Retrieves a paginated list of all assets supported by Fireblocks in your workspace  **Note:** We will continue to support and display the legacy ID (API ID). Since not all Fireblocks services fully support the new Assets UUID, please use only the legacy ID until further notice.
     * @summary List assets
     * @param {BlockchainsAssetsApiListAssetsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof BlockchainsAssetsApi
     */
    listAssets(requestParameters?: BlockchainsAssetsApiListAssetsRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<ListAssetsResponse>>;
    /**
     * Returns all blockchains supported by Fireblocks.
     * @summary List blockchains
     * @param {BlockchainsAssetsApiListBlockchainsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof BlockchainsAssetsApi
     */
    listBlockchains(requestParameters?: BlockchainsAssetsApiListBlockchainsRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<ListBlockchainsResponse>>;
    /**
     * Register a new asset to a workspace and return the newly created asset\'s details. Currently supported chains are: - EVM based chains - Stellar - Algorand - TRON - NEAR - Solana - Sui - TON
     * @summary Register an asset
     * @param {BlockchainsAssetsApiRegisterNewAssetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof BlockchainsAssetsApi
     */
    registerNewAsset(requestParameters?: BlockchainsAssetsApiRegisterNewAssetRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<AssetResponse>>;
    /**
     * Set asset price for the given asset id. Returns the asset price response.
     * @summary Set asset price
     * @param {BlockchainsAssetsApiSetAssetPriceRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof BlockchainsAssetsApi
     */
    setAssetPrice(requestParameters: BlockchainsAssetsApiSetAssetPriceRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<AssetPriceResponse>>;
    /**
     * Update the user’s metadata for an asset.  Endpoint Permission: Owner, Admin, Non-Signing Admin, NCW Admin, Signer, Editor.
     * @summary Update the user’s metadata for an asset
     * @param {BlockchainsAssetsApiUpdateAssetUserMetadataRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof BlockchainsAssetsApi
     */
    updateAssetUserMetadata(requestParameters: BlockchainsAssetsApiUpdateAssetUserMetadataRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<Asset>>;
}
