import { GetSupportedRoutesFn, CheckRouteValidFn } from '../utils/buildSupportedRoutes.js';
import { KnownChainId, KnownTokenId } from '../utils/types/knownIds.js';
import { ChainId, TokenId, EVMAddress, SDKNumber } from './types.js';
import { S as SDKGlobalContext } from '../types.internal-BwEnb5-y.js';
import '../utils/BigNumber.js';
import 'big.js';
import '../utils/typeHelpers.js';
import 'viem';
import '../evmUtils/evmContractAddresses.js';

declare const supportedRoutes: {
    getSupportedRoutes: GetSupportedRoutesFn;
    checkRouteValid: CheckRouteValidFn;
};
type BridgeFromEVMInput = {
    fromChain: ChainId;
    toChain: ChainId;
    fromToken: TokenId;
    toToken: TokenId;
    fromAddress: EVMAddress;
    toAddress: string;
    /**
     * **Required** when `toChain` is one of bitcoin chains
     */
    toAddressScriptPubKey?: Uint8Array;
    amount: SDKNumber;
    sendTransaction: (tx: {
        from: EVMAddress;
        to: EVMAddress;
        data: Uint8Array;
        recommendedGasLimit: SDKNumber;
        value?: SDKNumber;
    }) => Promise<{
        txHash: string;
    }>;
};
interface BridgeFromEVMOutput {
    txHash: string;
}
declare function bridgeFromEVM(ctx: SDKGlobalContext, info: BridgeFromEVMInput): Promise<BridgeFromEVMOutput>;
declare function bridgeFromEVM_toLaunchpad(ctx: SDKGlobalContext, info: {
    fromChain: KnownChainId.EVMChain;
    fromToken: KnownTokenId.EVMToken;
    fromAddress: EVMAddress;
    receiverChain: KnownChainId.KnownChain;
    receiverAddress: string;
    /**
     * **Required** when `receiverChain` is one of bitcoin chains
     */
    receiverAddressScriptPubKey?: Uint8Array;
    launchId: SDKNumber;
    amount: SDKNumber;
    sendTransaction: (tx: {
        from: EVMAddress;
        to: EVMAddress;
        data: Uint8Array;
        recommendedGasLimit: SDKNumber;
    }) => Promise<{
        txHash: string;
    }>;
}): Promise<BridgeFromEVMOutput>;

export { type BridgeFromEVMInput, type BridgeFromEVMOutput, bridgeFromEVM, bridgeFromEVM_toLaunchpad, supportedRoutes };
