import { PriceToken, PriceTokenAmount } from "../../../../../../../common/tokens"; import { EvmBlockchainName } from "../../../../../../../core/blockchain/models/blockchain-name"; import { OnChainTradeError } from "../../../../models/on-chain-trade-error"; import { RequiredOnChainCalculationOptions } from '../../../common/models/on-chain-calculation-options'; import { AggregatorOnChainProvider } from '../../../common/on-chain-aggregator/aggregator-on-chain-provider-abstract'; import { NativeRouterTradeInstance } from './models/native-router-trade-struct'; import { NativeRouterAbstractTrade } from './native-router-abstract-trade'; export declare abstract class NativeRouterAbstractProvider extends AggregatorOnChainProvider { private readonly nativeTokenAddress; protected abstract createNativeRouterTradeInstance(tradeInstance: NativeRouterTradeInstance): T; calculate(from: PriceTokenAmount, toToken: PriceToken, options: RequiredOnChainCalculationOptions): Promise; getBlockchainById(blockchain: string): string; }