import type { FunAddress } from '@funkit/api-base';
import { type MinTransferConfig, getMinTransferValueForChain } from '@funkit/connect-core';
import { type QRCodeUri } from '../utils/transfer';
export type FeeValue = {
    label: string;
    value: number;
};
export type { MinTransferConfig };
export { getMinTransferValueForChain };
interface UseTokenTransferResult {
    /** where money goes to first */
    depositAddress: FunAddress | undefined;
    depositAddressTooltip: string;
    /** the final destination of the money */
    recipientAddr: string;
    minTransferUsd: number;
    minTransferUsdPerChain: {
        [chainId: string]: number;
    };
    showOriginalRecipient: boolean;
    estPriceImpact: FeeValue | undefined;
    maxSlippage: FeeValue | undefined;
    qrCodeUri: QRCodeUri | undefined;
    blockchain: 'ethereum' | 'solana' | 'bitcoin' | 'tron';
}
export declare const useTokenTransfer: (selectedChainId: number | undefined, selectedToken: string | undefined, chainIds?: number[]) => UseTokenTransferResult;
export declare const useMinTransferValueUsd: (selectedChainId: number | undefined) => number;
export declare const useMinTransferValueEur: (selectedChainId: number | undefined) => number;
