import { PriceToken, PriceTokenAmount } from "../../../../../../common/tokens";
import { EvmBlockchainName } from "../../../../../../core/blockchain/models/blockchain-name";
export declare const ERD: {
    readonly ANY_CHAIN_NATIVE_TO_ZETA_NATIVE: "ANY_CHAIN_NATIVE_TO_ZETA_NATIVE";
    readonly ANY_CHAIN_NATIVE_TO_ZETA_TOKEN: "ANY_CHAIN_NATIVE_TO_ZETA_TOKEN";
    readonly ZETA_NATIVE_TO_ANY_CHAIN_ALL: "ZETA_NATIVE_TO_ANY_CHAIN_ALL";
    readonly ZETA_TOKEN_TO_ANY_CHAIN_ALL: "ZETA_TOKEN_TO_ANY_CHAIN_ALL";
    readonly ANY_CHAIN_NATIVE_TO_ANY_CHAIN_TOKEN: "ANY_CHAIN_NATIVE_TO_ANY_CHAIN_TOKEN";
    readonly ANY_CHAIN_TOKEN_TO_ANY_CHAIN_TOKEN: "ANY_CHAIN_TOKEN_TO_ANY_CHAIN_TOKEN";
    readonly ANY_CHAIN_TOKEN_TO_ZETA_TOKEN: "ANY_CHAIN_TOKEN_TO_ZETA_TOKEN";
};
export type EddyRoutingDirection = (typeof ERD)[keyof typeof ERD];
export declare const EDDY_CALCULATION_TYPES: {
    readonly DIRECT_BRIDGE: "DIRECT_BRIDGE";
    readonly SWAP_FROM_ZETACHAIN: "SWAP_FROM_ZETACHAIN";
    readonly SWAP_TO_ZETACHAIN: "SWAP_TO_ZETACHAIN";
    readonly SWAP_BETWEEN_OTHER_CHAINS: "SWAP_BETWEEN_OTHER_CHAINS";
};
export type EddyCalculationType = (typeof EDDY_CALCULATION_TYPES)[keyof typeof EDDY_CALCULATION_TYPES];
export declare function eddyRoutingDirection(from: PriceTokenAmount<EvmBlockchainName>, to: PriceToken<EvmBlockchainName>): EddyRoutingDirection;
/**
 * Check if route is Bsc(ETH) <-> Ethereum(ETH), Ethereum(USDT) <-> Zetachain(USDT.ETH) etc.
 */
export declare function isDirectBridge(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>): boolean;
export declare function getEddyCalculationType(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>): EddyCalculationType;
