import { BigNumberish, BigNumber, Transaction, PopulatedTransaction } from 'ethers'; import { EstimateInternalGasParams, SmartWalletAddressTxOptions, TokenGasEstimationParams } from './common'; import type { EnvelopingTxRequest, PaymentGasEstimationParams } from './common'; import RelayClient from './RelayClient'; import type { HttpClient } from './api/common'; declare const INTERNAL_TRANSACTION_ESTIMATED_CORRECTION = 18500; declare const INTERNAL_TRANSACTION_NATIVE_ESTIMATED_CORRECTION = 10500; declare const ESTIMATED_GAS_CORRECTION_FACTOR = 1; declare const SHA3_NULL_S: string; declare const SERVER_SIGNATURE_REQUIRED = "SERVER_SIGNATURE_REQUIRED"; export declare const REGTEST_CHAIN_ID = 33; export declare const TESTNET_CHAIN_ID = 31; export declare const MAINNET_CHAIN_ID = 30; declare const getRelayClientGenerator: (httpClient?: HttpClient) => Generator; declare const estimateInternalCallGas: ({ internalEstimationCorrection, estimatedGasCorrectionFactor, ...estimateGasParams }: EstimateInternalGasParams) => Promise; declare const estimatePaymentGas: ({ internalEstimationCorrection, estimatedGasCorrectionFactor, preDeploySWAddress, relayRequest, }: PaymentGasEstimationParams) => Promise; /** * @deprecated The method was replaced by {@link estimatePaymentGas} */ declare const estimateTokenTransferGas: ({ internalEstimationCorrection, estimatedGasCorrectionFactor, preDeploySWAddress, relayRequest, }: TokenGasEstimationParams) => Promise; declare const getSmartWalletAddress: ({ owner, smartWalletIndex, recoverer, to, data, factoryAddress, isCustom, }: SmartWalletAddressTxOptions) => Promise; declare const applyGasCorrectionFactor: (estimation: BigNumberish, esimatedGasCorrectFactor?: BigNumberish) => BigNumber; declare const applyInternalEstimationCorrection: (estimation: BigNumberish, internalTransactionEstimationCorrection?: BigNumberish) => BigNumber; /** * Decode the signed transaction returned from the Relay Server, compare it to the * requested transaction and validate its signature. */ declare const validateRelayResponse: (request: EnvelopingTxRequest, transaction: Transaction, relayWorkerAddress: string) => void; declare const useEnveloping: (method: string, params: Array>) => boolean; declare const maxPossibleGasVerification: (transaction: PopulatedTransaction, gasPrice: BigNumberish, gasLimit: BigNumberish, workerAddress: string) => Promise<{ maxPossibleGas: BigNumber; transactionResult: string; }>; declare const isDataEmpty: (data: string) => boolean; export { estimateInternalCallGas, estimatePaymentGas, estimateTokenTransferGas, getSmartWalletAddress, applyGasCorrectionFactor, applyInternalEstimationCorrection, INTERNAL_TRANSACTION_ESTIMATED_CORRECTION, INTERNAL_TRANSACTION_NATIVE_ESTIMATED_CORRECTION, ESTIMATED_GAS_CORRECTION_FACTOR, SHA3_NULL_S, SERVER_SIGNATURE_REQUIRED, validateRelayResponse, useEnveloping, getRelayClientGenerator, maxPossibleGasVerification, isDataEmpty, };