import { PriceToken, PriceTokenAmount } from "../../../../../common/tokens";
import { BlockchainName, EvmBlockchainName } from "../../../../../core/blockchain/models/blockchain-name";
import { SquidrouterEstimation } from "../../../../common/providers/squidrouter/models/estimation-response";
import { RequiredCrossChainOptions } from "../../models/cross-chain-options";
import { CrossChainProvider } from "../common/cross-chain-provider";
import { CalculationResult } from "../common/models/calculation-result";
import { FeeInfo } from "../common/models/fee-info";
import { RubicStep } from "../common/models/rubicStep";
import { SquidrouterCrossChainSupportedBlockchain } from "./constants/squidrouter-cross-chain-supported-blockchain";
export declare class SquidrouterCrossChainProvider extends CrossChainProvider {
    private readonly nativeAddress;
    readonly type: "squidrouter";
    isSupportedBlockchain(blockchain: BlockchainName): blockchain is SquidrouterCrossChainSupportedBlockchain;
    calculate(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>, options: RequiredCrossChainOptions): Promise<CalculationResult>;
    protected getFeeInfo(fromBlockchain: SquidrouterCrossChainSupportedBlockchain, providerAddress: string, percentFeeToken: PriceTokenAmount, useProxy: boolean): Promise<FeeInfo>;
    protected getRoutePath(_estimation: SquidrouterEstimation, fromToken: PriceTokenAmount, to: PriceTokenAmount): Promise<RubicStep[]>;
    private checkIsNativeToken;
}
