import type { DepositClientMetadata, DepositTargetConfig, FiatRailConfig } from '../flow/depositFlowConfig'; export interface UseFiatDirectDeliveryParams { /** Destination chain/asset the deposit is headed for. */ checkoutConfig: DepositTargetConfig | undefined; rail: FiatRailConfig; dynamicRoutingId: string | undefined; checkoutId: string; clientMetadata: DepositClientMetadata | undefined; /** Host fallback for local/dev clients that mint no address of their own. */ depositAddressOverride?: string; /** The verified assertion supplies the recipient on the backend. */ resolveOnBackend?: boolean; } export interface UseFiatDirectDeliveryResult { /** Where the order delivers the crypto; `undefined` until one resolves. */ depositAddress: string | undefined; /** The rail buys the destination asset itself, so no address was minted. */ isDirect: boolean; /** Why no generated address resolved; always `undefined` on the direct route. */ depositAddressError: Error | undefined; /** Re-requests the generated address; a no-op on the direct route. */ retryDepositAddress: () => void; } /** * Resolves where a V2 fiat order delivers. * * The generated deposit address exists to swap what the rail bought into what * the user asked for. When the rail buys that asset outright it has nothing to * do, so the order names the recipient instead — the crypto lands where it is * wanted rather than at a per-checkout address the backend has still to sweep. */ export declare function useFiatDirectDelivery({ checkoutConfig, rail, dynamicRoutingId, checkoutId, clientMetadata, depositAddressOverride, resolveOnBackend, }: UseFiatDirectDeliveryParams): UseFiatDirectDeliveryResult; //# sourceMappingURL=useFiatDirectDelivery.d.ts.map