import { ethers } from 'ethers'; import { config } from '@api3/airnode-validator'; import { GasTarget, LegacyGasTarget, Eip1559GasTarget, Provider } from './types'; import { LogsData } from '../../logging'; export declare const calculateTimeout: (startTime: number, totalTimeout: number) => number; export declare const parsePriorityFee: ({ value, unit }: config.Amount) => ethers.BigNumber; export declare const multiplyGasPrice: (gasPrice: ethers.BigNumber, gasPriceMultiplier: number) => ethers.BigNumber; export declare const getGasLimit: (fulfillmentGasLimit?: number) => { gasLimit: ethers.BigNumber; } | { gasLimit?: undefined; }; export declare const getGasTargetWithGasLimit: (gasTarget: GasTarget, fulfillmentGasLimit?: number) => { gasLimit: ethers.BigNumber; type: 0; gasPrice: ethers.BigNumber; } | { gasLimit?: ethers.BigNumber | undefined; type: 0; gasPrice: ethers.BigNumber; } | { gasLimit: ethers.BigNumber; type: 2; maxPriorityFeePerGas: ethers.BigNumber; maxFeePerGas: ethers.BigNumber; } | { gasLimit?: ethers.BigNumber | undefined; type: 2; maxPriorityFeePerGas: ethers.BigNumber; maxFeePerGas: ethers.BigNumber; }; export declare const getPercentile: (percentile: number, array: ethers.BigNumber[]) => ethers.BigNumber | undefined; export declare const checkMaxDeviationLimit: (value: ethers.BigNumber, referenceValue: ethers.BigNumber, maxDeviationMultiplier: number) => boolean; export declare const fetchConstantGasPrice: (constantGasPriceStrategy: config.ConstantGasPriceStrategy) => LegacyGasTarget; export declare const fetchProviderRecommendedGasPrice: (provider: Provider, gasOracleOptions: config.ProviderRecommendedGasPriceStrategy, startTime: number) => Promise; export declare const fetchSanitizedProviderRecommendedGasPrice: (provider: Provider, gasOracleOptions: config.SanitizedProviderRecommendedGasPriceStrategy, startTime: number) => Promise; export declare const fetchProviderRecommendedEip1559GasPrice: (provider: Provider, gasOracleOptions: config.ProviderRecommendedEip1559GasPriceStrategy, startTime: number) => Promise; export declare const fetchLatestBlockPercentileGasPrice: (provider: Provider, gasOracleOptions: config.LatestBlockPercentileGasPriceStrategy, startTime: number) => Promise; export declare const attemptGasOracleStrategy: (provider: Provider, gasOracleConfig: config.GasPriceOracleStrategy, startTime: number) => Promise; export declare const getGasPrice: (provider: Provider, chainOptions: config.ChainOptions) => Promise>; export declare const processGasPriceOracleStrategies: (provider: Provider, gasPriceOracleConfig: [{ gasPriceStrategy: "latestBlockPercentileGasPrice"; percentile: number; minTransactionCount: number; pastToCompareInBlocks: number; maxDeviationMultiplier: number; } | { gasPriceStrategy: "providerRecommendedGasPrice"; recommendedGasPriceMultiplier: number; } | { gasPriceStrategy: "sanitizedProviderRecommendedGasPrice"; recommendedGasPriceMultiplier: number; baseFeeMultiplierThreshold: number; baseFeeMultiplier: number; priorityFee: { value: number; unit: "wei" | "kwei" | "mwei" | "gwei" | "szabo" | "finney" | "ether"; }; } | { gasPriceStrategy: "providerRecommendedEip1559GasPrice"; baseFeeMultiplier: number; priorityFee: { value: number; unit: "wei" | "kwei" | "mwei" | "gwei" | "szabo" | "finney" | "ether"; }; } | { gasPriceStrategy: "constantGasPrice"; gasPrice: { value: number; unit: "wei" | "kwei" | "mwei" | "gwei" | "szabo" | "finney" | "ether"; }; }, ...({ gasPriceStrategy: "latestBlockPercentileGasPrice"; percentile: number; minTransactionCount: number; pastToCompareInBlocks: number; maxDeviationMultiplier: number; } | { gasPriceStrategy: "providerRecommendedGasPrice"; recommendedGasPriceMultiplier: number; } | { gasPriceStrategy: "sanitizedProviderRecommendedGasPrice"; recommendedGasPriceMultiplier: number; baseFeeMultiplierThreshold: number; baseFeeMultiplier: number; priorityFee: { value: number; unit: "wei" | "kwei" | "mwei" | "gwei" | "szabo" | "finney" | "ether"; }; } | { gasPriceStrategy: "providerRecommendedEip1559GasPrice"; baseFeeMultiplier: number; priorityFee: { value: number; unit: "wei" | "kwei" | "mwei" | "gwei" | "szabo" | "finney" | "ether"; }; } | { gasPriceStrategy: "constantGasPrice"; gasPrice: { value: number; unit: "wei" | "kwei" | "mwei" | "gwei" | "szabo" | "finney" | "ether"; }; })[]]) => Promise>; //# sourceMappingURL=gas-oracle.d.ts.map