import { Erc20Service } from './Erc20Service';
import { ChainBurnCeloErc20, ChainBurnErc20, ChainDeployCeloErc20, ChainDeployErc20, ChainMintCeloErc20, ChainMintErc20, ChainTransferBscBep20, ChainTransferCeloErc20Token, ChainTransferErc20, ChainTransferEthErc20, ChainTransferHrm20, ChainTransferPolygonErc20, ChainEgldEsdtTransaction, ChainTransferAlgoErc20, ChainBurnKcsErc20, ChainDeployKcsErc20, ChainMintKcsErc20, ChainTransferKcsErc20 } from './Erc20Base';
import { ApproveErc20 } from '@tatumio/tatum';
import { PathAddressContractAddressChain } from './dto/PathAddressContractAddressChain';
export declare abstract class Erc20Controller {
    protected readonly service: Erc20Service;
    protected constructor(service: Erc20Service);
    getBalanceErc20(path: PathAddressContractAddressChain): Promise<{
        balance: string;
    }>;
    transactionErc20(body: ChainTransferEthErc20 | ChainTransferBscBep20 | ChainTransferCeloErc20Token | ChainTransferErc20 | ChainTransferHrm20 | ChainTransferPolygonErc20 | ChainEgldEsdtTransaction | ChainTransferAlgoErc20 | ChainTransferKcsErc20): Promise<import("@tatumio/tatum").TransactionHash | {
        signatureId: string;
    }>;
    burnErc20(body: ChainBurnErc20 | ChainBurnCeloErc20 | ChainEgldEsdtTransaction | ChainBurnKcsErc20): Promise<import("@tatumio/tatum").TransactionHash | {
        signatureId: string;
    }>;
    mintErc20(body: ChainMintErc20 | ChainMintCeloErc20 | ChainEgldEsdtTransaction | ChainMintKcsErc20): Promise<import("@tatumio/tatum").TransactionHash | {
        signatureId: string;
    }>;
    approveErc20(body: ApproveErc20 | ChainEgldEsdtTransaction): Promise<import("@tatumio/tatum").TransactionHash | {
        signatureId: string;
    }>;
    deployErc20(body: ChainDeployErc20 | ChainDeployCeloErc20 | ChainEgldEsdtTransaction | ChainDeployKcsErc20): Promise<import("@tatumio/tatum").TransactionHash | {
        signatureId: string;
    }>;
}
