import { type SwappedFormOfPayment } from '@funkit/api-base'; import type { DepositCheckoutConfig, DepositClientMetadata, DepositInitialAmount } from '../../flow/depositFlowConfig'; export interface UseFopsParams { /** * Destination chain/asset — drives the deposit recipient + FOP query. Its * optional `getMinDepositUSD` feeds the fiat (Swapped) buy minimum. */ checkoutConfig: DepositCheckoutConfig | undefined; dynamicRoutingId?: string; /** Active flow's checkoutId — see {@link useTransferInit}. */ checkoutId?: string; /** Host-supplied correlation ids — see {@link useTransferInit}. */ clientMetadata?: DepositClientMetadata; initialAmount?: DepositInitialAmount; lockAmount?: boolean; enabled?: boolean; } export interface UseFopsResult { /** * The user's saved forms of payment (e.g. "Mastercard (…3869)"). Rendered at * the top of the Add money list, above the Crypto row — mirroring web, where * saved FOPs sort first. */ savedFops: SwappedFormOfPayment[]; /** Generic forms of payment (Card / Apple Pay / Revolut Pay / Bank Transfer). */ genericFops: SwappedFormOfPayment[]; isLoading: boolean; isFetching: boolean; /** The FOPs fetch failed (network / API). Drives the Add money error state. */ isError: boolean; /** Re-run the FOPs fetch (the Add money "Try again" action). */ refetch: () => void; /** Whether Swapped (cash) methods are offered at all. */ isSwappedEnabled: boolean; /** * The /fops fetch has every input it needs to run (Swapped on, recipient + * target resolved) — only then can a refetch change the result. Gates the * Add money "Try again". */ canRefetch: boolean; } /** * Thin RN port of `@funkit/connect`'s `useFops`: fetches the Swapped forms of * payment (`getFops`) that populate the "Use Cash" tab. Identity comes from * {@link useFunkitIdentity}; the deposit recipient is derived from * {@link useTransferInit} + the core `getDepositAddressForChain`. * * Theme, buy minimum, and region currency reach web parity (see the inline * notes below). V1 still omits web's per-region geoblocking and `validateFops`. */ export declare function useFops({ checkoutConfig, dynamicRoutingId, checkoutId, clientMetadata, initialAmount, lockAmount, enabled, }: UseFopsParams): UseFopsResult; //# sourceMappingURL=useFops.d.ts.map