import * as _nuxt_schema from '@nuxt/schema'; import { StripeConstructorOptions } from '@stripe/stripe-js'; import { Stripe } from 'stripe'; interface StripeModuleClientOptions { /** * The Stripe publishable key, it is intended to be exposed to the users. * Use `NUXT_PUBLIC_STRIPE_PUBLISHABLE_KEY` in the `.env` to set this key automatically. * * Check the official doc: {@link https://stripe.com/docs/keys#obtain-api-keys} */ publishableKey: string; /** * The Stripe client options. */ options: StripeConstructorOptions; } interface StripeModuleServerOptions { /** * The Stripe secret key, it is intended to be kept secret. * Use `NUXT_STRIPE_SECRET` in the `.env` to set this key automatically. * * Check the official doc: {@link https://stripe.com/docs/keys#obtain-api-keys} */ secret: string; /** * The Stripe server options. */ options: Stripe.StripeConfig; /** * The Stripe webhook options. */ webhook: { /** * The Stripe webhook secret, it is intended to be kept secret. * Use `NUXT_STRIPE_WEBHOOK_SECRET` in the `.env` to set this key automatically. */ secret: string; }; } interface ModuleOptions { /** * The Stripe publishable key, it is intended to be exposed to the users. * Use `NUXT_PUBLIC_STRIPE_PUBLISHABLE_KEY` in the `.env` to set this key automatically. * * Check the official doc: {@link https://stripe.com/docs/keys#obtain-api-keys} */ publishableKey: string; /** * The Stripe secret key, it is intended to be kept secret. * Use `NUXT_STRIPE_SECRET` in the `.env` to set this key automatically. * * Check the official doc: {@link https://stripe.com/docs/keys#obtain-api-keys} */ secret: string; /** * The Stripe webhook options. */ webhook: Partial<{ /** * The Stripe webhook secret, it is intended to be kept secret. * Use `NUXT_STRIPE_WEBHOOK_SECRET` in the `.env` to set this key automatically. */ secret: string; /** * The Stripe CLI webhook listener path. * Set to `false` to disable this behavior. * * @default "/api/stripe/webhook" */ listener: string | false; }>; /** * The Stripe client options. * * ### Note: * This object is available on the client-side, do not accidentally expose sensitive information. */ client: Partial<{ /** * The Stripe client options. */ options: StripeConstructorOptions; }>; /** * The Stripe server options. */ server: Partial<{ /** * The Stripe server options. */ options: Stripe.StripeConfig; }>; } declare const _default: _nuxt_schema.NuxtModule; export { type ModuleOptions, type StripeModuleClientOptions, type StripeModuleServerOptions, _default as default };