import { NftItemType, Pagination, TxMisc } from './firmachain/nft';
import { FirmaConfig } from "./FirmaConfig";
import { FirmaWalletService } from "./FirmaWalletService";
import { BroadcastTxResponse } from './firmachain/common/stargateclient';
export declare class NftService {
    private _config;
    constructor(_config: FirmaConfig);
    getNftItemAll(paginationKey?: string): Promise<{
        dataList: NftItemType[];
        pagination: Pagination;
    }>;
    getNftItem(nftId: string): Promise<NftItemType>;
    getNftItemAllFromAddress(ownerAddress: string, paginationKey?: string): Promise<{
        dataList: NftItemType[];
        pagination: Pagination;
    }>;
    getTokenOfOwnerByIndex(ownerAddress: string, index: number): Promise<NftItemType>;
    getBalanceOf(ownerAddress: string): Promise<number>;
    getGasEstimationTransfer(wallet: FirmaWalletService, toAddress: string, nftID: string, txMisc?: TxMisc): Promise<number>;
    private getSignedTxTransfer;
    transfer(wallet: FirmaWalletService, toAddress: string, nftID: string, txMisc?: TxMisc): Promise<BroadcastTxResponse>;
    getGasEstimationBurn(wallet: FirmaWalletService, nftID: string, txMisc?: TxMisc): Promise<number>;
    private getSignedTxBurn;
    burn(wallet: FirmaWalletService, nftID: string, txMisc?: TxMisc): Promise<BroadcastTxResponse>;
    getGasEstimationMint(wallet: FirmaWalletService, tokenURI: string, txMisc?: TxMisc): Promise<number>;
    private getSignedTxMint;
    mint(wallet: FirmaWalletService, tokenURI: string, txMisc?: TxMisc): Promise<BroadcastTxResponse>;
}
