import { BigNumber } from '../../../../dependencies/src/bignumber.js-9.0.0/bignumber';
import { AirGapTransactionStatus } from '../../../../interfaces/IAirGapTransaction';
import { EthereumNodeClient } from './NodeClient';
export declare class EthereumRPCData {
    protected static parametersLength: number;
    methodSignature: string;
    constructor(methodSignature: string);
    abiEncoded(): string;
    static addLeadingZeroPadding(value: string, targetLength?: number): string;
    static removeLeadingZeroPadding(value: string): string;
}
export declare class EthereumRPCDataBalanceOf extends EthereumRPCData {
    static methodName: string;
    address: string;
    constructor(address: string);
    abiEncoded(): string;
}
export declare class EthereumRPCDataTransfer extends EthereumRPCData {
    static methodName: string;
    recipient: string;
    amount: string;
    constructor(toAddressOrData: string, amount?: string);
    abiEncoded(): string;
}
export declare class AirGapNodeClient extends EthereumNodeClient {
    constructor(baseURL?: string);
    fetchBalance(address: string): Promise<BigNumber>;
    fetchTransactionCount(address: string): Promise<number>;
    sendSignedTransaction(transaction: string): Promise<string>;
    getTransactionStatus(transactionHash: string): Promise<AirGapTransactionStatus>;
    callBalanceOf(contractAddress: string, address: string): Promise<BigNumber>;
    callBalanceOfOnContracts(contractAddresses: string[], address: string): Promise<{
        [contractAddress: string]: BigNumber;
    }>;
    private balanceOfBody;
    estimateTransactionGas(fromAddress: string, toAddress: string, amount?: string, data?: string, gas?: string): Promise<BigNumber>;
    estimateTransferGas(contractAddress: string, fromAddress: string, toAddress: string, hexAmount: string): Promise<BigNumber>;
    getGasPrice(): Promise<BigNumber>;
    private send;
    private batchSend;
}
