import { Chain, ChainContext, Network, routes, TransactionId, amount as sdkAmount } from '@wormhole-foundation/sdk';
import { TokenConfig } from '../../config/types';
type Amount = sdkAmount.Amount;
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, 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: Amount, 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: Amount, sourceTokenV1: string, destTokenV1: string, sourceChain: Chain, destChain: Chain): Promise<routes.RouteTransferRequest<Network>>;
    computeReceiveAmount(amountIn: Amount, sourceToken: string, destToken: string, fromChain: Chain | undefined, toChain: Chain | undefined, options?: routes.AutomaticTokenBridgeRoute.Options): Promise<Amount>;
    computeQuote(amountIn: Amount, sourceToken: string, destToken: string, fromChain: Chain, toChain: Chain, options?: routes.AutomaticTokenBridgeRoute.Options): Promise<routes.QuoteResult<routes.Options>>;
    send(sourceToken: TokenConfig, amount: Amount, fromChain: Chain, senderAddress: string, toChain: Chain, recipientAddress: string, destToken: string, options?: routes.AutomaticTokenBridgeRoute.Options): Promise<[routes.Route<Network>, routes.Receipt]>;
    resumeIfManual(tx: TransactionId): Promise<routes.Receipt | null>;
    isIlliquidDestToken(token: TokenConfig, toChain: Chain): boolean;
}
export {};
//# sourceMappingURL=route.d.ts.map