import type { CheckoutInitTokenTransferResponse, FunAddress } from '@funkit/api-base'; import { type QRCodeUri, type TransferTokenQrCodeType } from '@funkit/connect-core'; import type { DepositTargetConfig } from '../../flow/depositFlowConfig'; export interface UseTokenTransferParams { checkoutConfig: DepositTargetConfig | undefined; /** Chain the user picked to send funds on. */ selectedChainId: number | undefined; dynamicRoutingId?: string; /** Active flow's checkoutId — see {@link useTransferInit}. */ checkoutId?: string; /** Host-supplied correlation ids — see {@link useTransferInit}. */ clientMetadata?: NonNullable; enabled?: boolean; } export interface UseTokenTransferResult { /** Where the user sends funds first. */ depositAddress: FunAddress | undefined; /** Raw deposit-init response (per-chain addresses); gates which chains show. */ transferInit: CheckoutInitTokenTransferResponse | undefined; /** Final destination of the funds. */ recipientAddr: string; /** Default max slippage, as a percent. */ maxSlippagePercent: number; qrCodeUri: QRCodeUri | undefined; blockchain: TransferTokenQrCodeType; isLoading: boolean; /** The deposit-address lookup failed; nothing can be delivered without it. */ depositAddressError: Error | undefined; /** Replays the deposit-address lookup. */ retryDepositAddress: () => void; } /** * Thin RN reimplementation of `@funkit/connect`'s `useTokenTransfer`: resolves * the deposit address + QR URI for the selected chain. The web hook's i18n * tooltips, fiat conversion, price-impact estimate, per-customer slippage, and * Polygon "original recipient" special-case are intentionally omitted. (The * per-chain minimums are computed in `buildAvailableChains`, not here.) */ export declare function useTokenTransfer({ checkoutConfig, selectedChainId, dynamicRoutingId, checkoutId, clientMetadata, enabled, }: UseTokenTransferParams): UseTokenTransferResult; //# sourceMappingURL=useTokenTransfer.d.ts.map