import { PriceToken, PriceTokenAmount, Token } from "../../../../../../common/tokens"; import { BlockchainName } from "../../../../../../core/blockchain/models/blockchain-name"; import { Web3PrivateSupportedBlockchain } from "../../../../../../core/blockchain/web3-private-service/models/web-private-supported-blockchain"; import { OnChainTradeError } from '../../../models/on-chain-trade-error'; import { RequiredOnChainCalculationOptions } from '../models/on-chain-calculation-options'; import { OnChainProxyFeeInfo } from '../models/on-chain-proxy-fee-info'; import { OnChainTradeType } from '../models/on-chain-trade-type'; import { GasFeeInfo } from '../on-chain-trade/evm-on-chain-trade/models/gas-fee-info'; import { OnChainTrade } from '../on-chain-trade/on-chain-trade'; export declare abstract class AggregatorOnChainProvider { private readonly onChainProxyService; abstract readonly tradeType: OnChainTradeType; abstract calculate(from: PriceTokenAmount, toToken: PriceToken, options: RequiredOnChainCalculationOptions): Promise; abstract isSupportedBlockchain(blockchain: BlockchainName): boolean; protected getWalletAddress(blockchain: Web3PrivateSupportedBlockchain): string; protected getGasFeeInfo(..._args: unknown[]): Promise; protected handleProxyContract(from: PriceTokenAmount, fullOptions: RequiredOnChainCalculationOptions): Promise<{ fromWithoutFee: PriceTokenAmount; proxyFeeInfo: OnChainProxyFeeInfo | undefined; }>; protected getRoutePath(from: Token, to: Token): ReadonlyArray; }