import { TokenBalance } from '@0xsquid/sdk/dist/types';
import { WrappedBrowserProvider } from '@imtbl/checkout-sdk';
import { FromAmountData, Token } from '../types';
/**
 * Functions to handle route amount calculations.
 */
/**
 * Calculate the fromAmount based on USD prices and slippage.
 */
export declare const calculateFromAmount: (fromToken: Token, toToken: Token, toAmount: string, additionalBuffer?: number) => string;
/**
 * Calculate the fromAmount using exchange rate returned from the route.
 */
export declare const calculateFromAmountFromRoute: (exchangeRate: string, toAmount: string, toAmountUSD?: string) => string;
/**
 * Convert a string amount to a formatted amount with the specified number of decimals.
 */
export declare const convertToFormattedFromAmount: (amount: string, decimals: number) => string;
export declare const getFromAmountData: (tokens: Token[], balance: TokenBalance, toAmount: string, toChainId: string, toTokenAddress: string, additionalBuffer?: number) => FromAmountData | undefined;
export declare const getSufficientFromAmounts: (tokens: Token[], balances: TokenBalance[], toChainId: string, toTokenAddress: string, toAmount: string) => FromAmountData[];
export declare const hasSufficientBalance: (balances: TokenBalance[], toTokenAddress: string, toChainId: string, toAmount: string) => boolean;
export declare const hasSufficientGas: (balances: TokenBalance[], selectedChainId: string | number, provider: WrappedBrowserProvider | undefined) => boolean;
