import { UnsignedTransaction } from '@airgap/coinlib-core'; import { IAirGapSignedTransaction } from '@airgap/coinlib-core/interfaces/IAirGapSignedTransaction'; import { IAirGapTransaction } from '@airgap/coinlib-core/interfaces/IAirGapTransaction'; import { FeeDefaults } from '@airgap/coinlib-core/protocols/ICoinProtocol'; import { ICoinSubProtocol, SubProtocolType } from '@airgap/coinlib-core/protocols/ICoinSubProtocol'; import { SignedEthereumTransaction } from '../../types/signed-transaction-ethereum'; import { RawEthereumTransaction } from '../../types/transaction-ethereum'; 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); getIsSubProtocol(): Promise; getSubProtocolType(): Promise; getContractAddress(): Promise; getBalanceOfPublicKey(publicKey: string): Promise; getBalanceOfAddresses(addresses: string[]): Promise; signWithPrivateKey(privateKey: string, 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; }