import { Environment } from "@axelarjs/core"; import type { AxelarscanClient } from "../axelarscan"; import type { GMPClient } from "../gmp/isomorphic"; import { RestService, type ClientMeta, type RestServiceOptions } from "../lib/rest-service"; import type { EstimateGasFeeParams, EstimateGasFeeResponse } from "./types"; type AxelarscanClientDependencies = { gmpClient: GMPClient; axelarscanClient: AxelarscanClient; }; export declare class AxelarQueryAPIClient extends RestService { protected gmpClient: GMPClient; protected axelarScanClient: AxelarscanClient; protected env: Environment; constructor(options: RestServiceOptions, dependencies: AxelarscanClientDependencies, env: Environment, meta?: ClientMeta); static init(options: RestServiceOptions, dependencies: AxelarscanClientDependencies, env: Environment): AxelarQueryAPIClient; private getRpcUrl; private _getL1FeeForL2; /** * Calculate estimated gas amount to pay for the gas receiver contract. * @param sourceChain Chain ID (as recognized by Axelar) of the source chain * @param destinationChain Chain ID (as recognized by Axelar) of the destination chain * @param gasLimit An estimated gas amount required to execute `executeWithToken` function. * @param sourceTokenSymbol (Optional) the token symbol on the source chain * @param sourceContractAddress (Optional) the address of the contract invoking the GMP call from the source chain * @param sourceTokenAddress (Optional) the contract address of the token symbol on the source chain * @param executeData (Optional) The data to be executed on the destination chain. It's recommended to specify it if the destination chain is an L2 chain to calculate more accurate gas fee. * @param destinationContractAddress (Optional) the destination contract address for checking express supported * @param amountInUnits (Optional) An amount (in the smallest denomination) that using in callContractWithToken for checking express supported * @param minGasPrice (Optional) A minimum value, in wei, for the gas price on the destination chain that is used to override the estimated gas price if it falls below this specified value. * @param gasMultiplier (Optional) A multiplier used to create a buffer above the calculated gas fee, to account for potential slippage throughout tx execution, e.g. 1.1 = 10% buffer. Default to "auto" which will use the gas multiplier from the GMP response. * @param showDetailedFees (Optional) will return the full breakdown of fee components if specified true * @returns */ estimateGasFee({ sourceChain, destinationChain, gasLimit, sourceTokenSymbol, sourceContractAddress, sourceTokenAddress, destinationContractAddress, amountInUnits, executeData, minGasPrice, gasMultiplier, showDetailedFees, }: EstimateGasFeeParams): Promise; } export {};