import { Chain, ChainContext, Network, routes, TransactionId } from '@wormhole-foundation/sdk';
import { TokenId as TokenIdV1 } from '../../sdklegacy';
import { TokenConfig } from '../../config/types';
import { TransferDestInfo, TransferDestInfoBaseParams, TransferDisplayData, TransferInfoBaseParams } from '../types';
import { TokenPrices } from '../../store/tokenPrices';
import { TransferInfo } from '../../utils/sdkv2';
import { RelayerFee } from '../../store/relay';
export declare class SDKv2Route {
    readonly rc: routes.RouteConstructor;
    IS_TOKEN_BRIDGE_ROUTE: boolean;
    constructor(rc: routes.RouteConstructor);
    get AUTOMATIC_DEPOSIT(): boolean;
    get NATIVE_GAS_DROPOFF_SUPPORTED(): boolean;
    getV2ChainContext<C extends Chain>(chain: C): Promise<{
        chain: C;
        context: ChainContext<Network, C>;
    }>;
    isRouteSupported(sourceToken: string, destToken: string, _amount: string, // Amount is validated later, when getting a quote
    fromChain: Chain, toChain: Chain): Promise<boolean>;
    isSupportedChain(chain: Chain): boolean;
    supportedSourceTokens(tokens: TokenConfig[], _destToken?: TokenConfig | undefined, fromChain?: Chain | undefined, _destChain?: Chain | undefined): Promise<TokenConfig[]>;
    supportedDestTokens(tokens: TokenConfig[], sourceToken: TokenConfig | undefined, fromChain?: Chain | undefined, toChain?: Chain | undefined): Promise<TokenConfig[]>;
    getQuote(amount: string, sourceTokenV1: string, destTokenV1: string, sourceChain: Chain, destChain: Chain, options?: routes.AutomaticTokenBridgeRoute.Options): Promise<[
        routes.Route<Network>,
        routes.QuoteResult<routes.Options>,
        routes.RouteTransferRequest<Network>
    ]>;
    createRequest(amount: string, sourceTokenV1: string, destTokenV1: string, sourceChain: Chain, destChain: Chain): Promise<routes.RouteTransferRequest<Network>>;
    computeReceiveAmount(amountIn: number, sourceToken: string, destToken: string, fromChain: Chain | undefined, toChain: Chain | undefined, options?: routes.AutomaticTokenBridgeRoute.Options): Promise<number>;
    computeReceiveAmountWithFees(amount: number, sourceToken: string, destToken: string, fromChain: Chain | undefined, toChain: Chain | undefined, options?: routes.AutomaticTokenBridgeRoute.Options): Promise<number>;
    computeQuote(amountIn: string, sourceToken: string, destToken: string, fromChain: Chain, toChain: Chain, options?: routes.AutomaticTokenBridgeRoute.Options): Promise<routes.QuoteResult<routes.Options>>;
    validate(token: TokenIdV1 | 'native', amount: string, sendingChain: Chain, senderAddress: string, recipientChain: Chain, recipientAddress: string, options?: routes.AutomaticTokenBridgeRoute.Options): Promise<boolean>;
    getMinSendAmount(options?: routes.AutomaticTokenBridgeRoute.Options): number;
    getMaxSendAmount(): number;
    send(sourceToken: TokenConfig, amount: string, fromChain: Chain, senderAddress: string, toChain: Chain, recipientAddress: string, destToken: string, options?: routes.AutomaticTokenBridgeRoute.Options): Promise<[routes.Route<Network>, routes.Receipt]>;
    getPreview(token: TokenConfig, destToken: TokenConfig, amount: number, sendingChain: Chain, recipientChain: Chain, sendingGasEst: string, claimingGasEst: string, receiveAmount: string, tokenPrices: TokenPrices, relayerFee?: RelayerFee, receiveNativeAmt?: number): Promise<TransferDisplayData>;
    createDisplayItem(title: string, amount: number, token: TokenConfig, tokenPrices: TokenPrices, chain: Chain): {
        title: string;
        value: string;
        valueUSD: string;
    };
    getTransferSourceInfo<T extends TransferInfoBaseParams>(params: T): Promise<TransferDisplayData>;
    getTransferDestInfo<T extends TransferDestInfoBaseParams>(params: T): Promise<TransferDestInfo>;
    getForeignAsset(token: TokenIdV1, chain: Chain, destToken?: TokenConfig | undefined): Promise<string | null>;
    tryFetchRedeemTx(txData: TransferInfo): Promise<string | undefined>;
    resumeIfManual(tx: TransactionId): Promise<routes.Receipt | null>;
    isIlliquidDestToken(token: TokenConfig, toChain: Chain): boolean;
}
//# sourceMappingURL=route.d.ts.map