import { PriceToken, PriceTokenAmount } from "../../../../../../common/tokens";
import { BlockchainName, 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 { NativeRouterTradeInstance } from '../common/native-router-abstract/models/native-router-trade-struct';
import { NativeRouterAbstractProvider } from '../common/native-router-abstract/native-router-abstract-provider';
import { NativeRouterTrade } from './native-router-trade';
export declare class NativeRouterProvider extends NativeRouterAbstractProvider<NativeRouterTrade> {
    readonly tradeType: "NATIVE_ROUTER";
    isSupportedBlockchain(blockchain: BlockchainName): boolean;
    protected createNativeRouterTradeInstance(tradeInstance: NativeRouterTradeInstance): NativeRouterTrade;
    calculate(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>, options: RequiredOnChainCalculationOptions): Promise<NativeRouterTrade | OnChainTradeError>;
}
