import { NftService } from './NftService';
import { TransferErc721 as CoreTransferErc721, MintErc721 as CoreMintErc721, BurnErc721 as CoreBurnErc721, DeployErc721 as CoreDeployErc721 } from '@tatumio/tatum-core';
import { AddMinter, CeloBurnErc721, CeloDeployErc721, CeloMintErc721, CeloMintMultipleErc721, CeloTransferErc721, EthBurnErc721, EthDeployErc721, EthMintErc721, EthMintMultipleErc721, FlowBurnNft, FlowDeployNft, FlowMintMultipleNft, FlowMintNft, FlowTransferNft, EthTransferErc721, UpdateCashbackErc721, TronUpdateCashbackTrc721, CeloUpdateCashbackErc721, TronDeployTrc721, TronBurnTrc721, TronMintMultipleTrc721, TronTransferTrc721, OneDeploy721, OneBurn721, OneMintMultiple721, OneUpdateCashback721, TronMintTrc721, OneMint721, OneTransfer721, DeployErc721, BurnErc721, TransferErc721 } from '@tatumio/tatum';
import { PathTokenIdContractAddressChain } from './dto/PathTokenIdContractAddressChain';
import { ChainEgldEsdtTransaction } from './dto/ChainEgldEsdtTransaction';
import { PathChainTxId } from './dto/PathChainTxId';
import { PathAddressContractAddressChain } from "./dto/PathAddressContractAddressChain";
import { SolanaMintNft } from "@tatumio/tatum-solana";
export declare abstract class NftController {
    protected readonly service: NftService;
    protected constructor(service: NftService);
    getProvenanceData(path: any): Promise<any[]>;
    getBalanceErc721(path: PathAddressContractAddressChain, nonce?: string): Promise<any>;
    getTransaction(path: PathChainTxId): Promise<(import("web3-eth").Transaction & import("web3-eth").TransactionReceipt) | import("@tatumio/tatum").EgldTransaction>;
    getContractAddress(path: PathChainTxId): Promise<{
        contractAddress: any;
    }>;
    getMetadataErc721(path: PathTokenIdContractAddressChain, account: string, nonce?: string): Promise<{
        data?: string;
        onchainData?: any;
    }>;
    getRoyaltyErc721(path: PathTokenIdContractAddressChain, nonce?: string): Promise<{
        addresses: any;
        values: any;
    }>;
    transactionErc721(body: CeloTransferErc721 | EthTransferErc721 | FlowTransferNft | TronTransferTrc721 | OneTransfer721 | ChainEgldEsdtTransaction | TransferErc721 | CoreTransferErc721): Promise<import("@tatumio/tatum").TransactionHash | {
        signatureId: string;
    }>;
    mintErc721(body: CeloMintErc721 | EthMintErc721 | FlowMintNft | TronMintTrc721 | OneMint721 | ChainEgldEsdtTransaction | SolanaMintNft | CoreMintErc721): Promise<import("@tatumio/tatum").TransactionHash | {
        signatureId: string;
    } | {
        txId: string;
        tokenId: number;
    }>;
    addMinter(body: AddMinter): Promise<import("@tatumio/tatum").TransactionHash | {
        signatureId: string;
    } | {
        txId: string;
        tokenId: number;
    }>;
    updateRoyaltyErc721(body: CeloUpdateCashbackErc721 | TronUpdateCashbackTrc721 | UpdateCashbackErc721 | OneUpdateCashback721): Promise<import("@tatumio/tatum").TransactionHash | {
        signatureId: string;
    }>;
    mintMultipleErc721(body: CeloMintMultipleErc721 | TronMintMultipleTrc721 | EthMintMultipleErc721 | FlowMintMultipleNft | OneMintMultiple721): Promise<import("@tatumio/tatum").TransactionHash | {
        signatureId: string;
    } | {
        txId: string;
        tokenId: number[];
    }>;
    burnErc721(body: CeloBurnErc721 | TronBurnTrc721 | EthBurnErc721 | FlowBurnNft | OneBurn721 | ChainEgldEsdtTransaction | BurnErc721 | CoreBurnErc721): Promise<import("@tatumio/tatum").TransactionHash | {
        signatureId: string;
    }>;
    deployErc721(body: CeloDeployErc721 | TronDeployTrc721 | EthDeployErc721 | FlowDeployNft | OneDeploy721 | ChainEgldEsdtTransaction | DeployErc721 | CoreDeployErc721): Promise<import("@tatumio/tatum").TransactionHash | {
        signatureId: string;
    }>;
}
