import type { CheckoutInitTokenTransferResponse, FunAddress } from '@funkit/api-base'; export declare function getDepositAddressForChain(chainId: number, transferInit: CheckoutInitTokenTransferResponse | undefined): FunAddress | undefined; /** * Whether a curated transfer chain should be offered to the user, given the * deposit init response. The non-EVM chains (Solana / Bitcoin / Tron) each need * their own deposit address, which is only present in the init response when the * backend minted one — so they're hidden until that address exists. EVM chains * share the single `depositAddr` and are always enabled. Withdrawals don't * deposit, so every chain is enabled there. Shared by web * (`useEnabledTokenTransferChainTokens`) and RN so the two can't drift. */ export declare function isTransferChainEnabled(chainId: number, transferInit: CheckoutInitTokenTransferResponse | undefined, isWithdrawal?: boolean): boolean; export type TransferTokenQrCodeType = 'ethereum' | 'solana' | 'bitcoin' | 'tron'; interface TransferTokenQrCodeUriParams { depositAddress: FunAddress; type: TransferTokenQrCodeType; /** Appended as an EIP-681 `@` suffix. Ignored unless it's a real EVM chain id. */ chainId?: number; } export type QRCodeUri = `ethereum:${FunAddress}` | `ethereum:${FunAddress}@${number}` | `solana:${FunAddress}` | `bitcoin:${FunAddress}` | FunAddress; export declare const getTransferTokenQrCodeUri: (props: TransferTokenQrCodeUriParams) => QRCodeUri; export {}; //# sourceMappingURL=transfer.d.ts.map