import { AddMinter, BurnMultiToken, CeloBurnMultiToken, CeloBurnMultiTokenBatch, CeloDeployMultiToken, CeloMintMultiToken, CeloMintMultiTokenBatch, CeloTransferMultiToken, CeloTransferMultiTokenBatch, Currency, EthBurnMultiToken, EthBurnMultiTokenBatch, EthDeployMultiToken, MintMultiToken, MintMultiTokenBatch, TransferMultiToken, TransferMultiTokenBatch } from '../model';
/**
 * For more details, see <a href="https://apidoc.tatum.io/#operation/MultiTokenGetContractAddress" target="_blank">Tatum API documentation</a>
 */
export declare const getMultiTokenContractAddress: (chain: Currency, txId: string) => Promise<{
    contractAddress: string;
}>;
/**
 * For more details, see <a href="https://apidoc.tatum.io/#operation/MultiTokenGetBalanceBatch" target="_blank">Tatum API documentation</a>
 */
export declare const getMultiTokensBalance: (chain: Currency, contractAddress: string, address: string, tokenId: string) => Promise<string[]>;
/**
 * For more details, see <a href="https://apidoc.tatum.io/#operation/MultiTokenGetBalance" target="_blank">Tatum API documentation</a>
 */
export declare const getMultiTokensBatchBalance: (chain: Currency, contractAddress: string, address: string, tokenIds: string) => Promise<string[]>;
/**
 * For more details, see <a href="https://apidoc.tatum.io/#operation/MultiTokenGetTransaction" target="_blank">Tatum API documentation</a>
 */
export declare const getMultiTokenTransaction: (chain: Currency, txId: string) => Promise<any>;
/**
 * For more details, see <a href="https://apidoc.tatum.io/#operation/MultiTokenGetMetadata" target="_blank">Tatum API documentation</a>
 */
export declare const getMultiTokenMetadata: (chain: Currency, contractAddress: string, tokenId: string) => Promise<{
    data: string;
}>;
/**
 * Deploy MultiTokens (1155) contract.
 * @param testnet if we use testnet or not
 * @param body body of the request
 * @param provider optional provider do broadcast tx
 */
export declare const deployMultiToken: (testnet: boolean, body: CeloDeployMultiToken | EthDeployMultiToken, provider?: string | undefined) => Promise<import("../model").TransactionHash | undefined>;
/**
 * Mint MultiTokens (1155)
 * @param testnet if we use testnet or not
 * @param body body of the request
 * @param provider optional provider do broadcast tx
 */
export declare const mintMultiToken: (testnet: boolean, body: MintMultiToken | CeloMintMultiToken, provider?: string | undefined) => Promise<import("../model").TransactionHash | undefined>;
/**
 * Mint MultiTokens (1155) in a batch call.
 * @param testnet if we use testnet or not
 * @param body body of the request
 * @param provider optional provider do broadcast tx
 */
export declare const mintMultiTokenBatch: (testnet: boolean, body: MintMultiTokenBatch | CeloMintMultiTokenBatch, provider?: string | undefined) => Promise<import("../model").TransactionHash | undefined>;
/**
 * Burn MultiTokens (1155).
 * @param testnet if we use testnet or not
 * @param body body of the request
 * @param provider optional provider do broadcast tx
 */
export declare const burnMultiToken: (testnet: boolean, body: CeloBurnMultiToken | EthBurnMultiToken | BurnMultiToken, provider?: string | undefined) => Promise<import("../model").TransactionHash | undefined>;
/**
 * Burn MultiTokens (1155) in a batch call.
 * @param testnet if we use testnet or not
 * @param body body of the request
 * @param provider optional provider do broadcast tx
 */
export declare const burnMultiTokenBatch: (testnet: boolean, body: CeloBurnMultiTokenBatch | EthBurnMultiTokenBatch, provider?: string | undefined) => Promise<import("../model").TransactionHash | undefined>;
/**
 * Transfer MultiTokens (1155).
 * @param testnet if we use testnet or not
 * @param body body of the request
 * @param provider optional provider do broadcast tx
 */
export declare const transferMultiToken: (testnet: boolean, body: CeloTransferMultiToken | TransferMultiToken, provider?: string | undefined) => Promise<import("../model").TransactionHash | undefined>;
/**
 * Transfer MultiTokens (1155) in a batch call.
 * @param testnet if we use testnet or not
 * @param body body of the request
 * @param provider optional provider do broadcast tx
 */
export declare const transferMultiTokenBatch: (testnet: boolean, body: CeloTransferMultiTokenBatch | TransferMultiTokenBatch, provider?: string | undefined) => Promise<string | import("../model").TransactionHash | undefined>;
/**
 * Prepare add new minter to the MultiToken (1155) contract transaction.
 * @param testnet if we use testnet or not
 * @param body body of the add minter request
 * @param provider optional provider do broadcast tx
 */
export declare const prepareAddMultiTokenMinter: (testnet: boolean, body: AddMinter, provider?: string | undefined) => Promise<string>;
/**
 * Add new minter to the MultiToken (1155) contract.
 * @param testnet if we use testnet or not
 * @param body body of the add minter request
 * @param provider optional provider do broadcast tx
 */
export declare const sendAddMultiTokenMinter: (testnet: boolean, body: AddMinter, provider?: string | undefined) => Promise<unknown>;
