import type { StripeOnrampClient } from './stripeOnramp'; import type { StripeSdk } from './stripeSdk'; /** * What a host must supply to turn Stripe on: its own Stripe account's * publishable key, and the Apple Merchant ID baked into the app's entitlements. * Data only — the host installs `@stripe/stripe-react-native` (an optional peer) * and this package binds it (see {@link useStripeOnrampClient}), so a host wires * three strings, not an implementation. */ export interface StripeOnrampConfig { /** Publishable key for the Stripe account the onramp settles into. */ publishableKey: string; /** Shown on Stripe's own sheets. Defaults to the app's display name. */ merchantDisplayName: string; /** * Apple Merchant ID (`merchant.example.app`). Required for Apple Pay: it is * an app entitlement, so only the host knows it, and Stripe decrypts the * payment against the certificate bound to it. */ merchantIdentifier?: string; /** Deep-link scheme Stripe returns to after a redirect (3DS, KYC). */ urlScheme?: string; } /** * Binds Stripe's native SDK to the {@link StripeOnrampClient} the fiat surfaces * call. Takes the SDK as an argument because it is an optional peer, loaded by * `StripeOnrampBridge` only after a host configured Stripe. * * `initStripe` is idempotent per config but not free, so it runs once per * distinct config and every call awaits that same promise — the SDK rejects * calls made before it resolves. A failed init clears the cache so the next * call retries rather than latching the failure forever. */ export declare function useStripeOnrampClient({ initStripe, isPlatformPaySupported, useOnramp }: StripeSdk, config: StripeOnrampConfig): StripeOnrampClient; //# sourceMappingURL=useStripeOnrampClient.d.ts.map