///
import { IAirGapSignedTransaction } from '../../../interfaces/IAirGapSignedTransaction';
import { IAirGapTransaction } from '../../../interfaces/IAirGapTransaction';
import { SignedEthereumTransaction } from '../../../serializer/schemas/definitions/signed-transaction-ethereum';
import { UnsignedTransaction } from '../../../serializer/schemas/definitions/unsigned-transaction';
import { RawEthereumTransaction } from '../../../serializer/types';
import { FeeDefaults } from '../../ICoinProtocol';
import { ICoinSubProtocol, SubProtocolType } from '../../ICoinSubProtocol';
import { BaseEthereumProtocol } from '../BaseEthereumProtocol';
import { EtherscanInfoClient } from '../clients/info-clients/EtherscanInfoClient';
import { AirGapNodeClient } from '../clients/node-clients/AirGapNodeClient';
import { EthereumERC20ProtocolOptions } from '../EthereumProtocolOptions';
import { EthereumTransactionCursor, EthereumTransactionResult } from './../EthereumTypes';
export declare class GenericERC20 extends BaseEthereumProtocol implements ICoinSubProtocol {
readonly options: EthereumERC20ProtocolOptions;
isSubProtocol: boolean;
subProtocolType: SubProtocolType;
readonly contractAddress: string;
constructor(options: EthereumERC20ProtocolOptions);
getBalanceOfPublicKey(publicKey: string): Promise;
getBalanceOfAddresses(addresses: string[]): Promise;
signWithPrivateKey(privateKey: Buffer, transaction: RawEthereumTransaction): Promise;
private estimateGas;
estimateMaxTransactionValueFromPublicKey(publicKey: string, recipients: string[], fee?: string): Promise;
estimateFeeDefaultsFromPublicKey(publicKey: string, recipients: string[], values: string[], data?: any): Promise;
prepareTransactionFromPublicKey(publicKey: string, recipients: string[], values: string[], fee: string): Promise;
getTransactionsFromAddresses(addresses: string[], limit: number, cursor?: EthereumTransactionCursor): Promise;
getTransactionDetailsFromSigned(signedTx: SignedEthereumTransaction): Promise;
getTransactionDetails(unsignedTx: UnsignedTransaction): Promise;
}