import type Stripe from 'stripe'; export declare function createBillableMethods(_tableName: string): void; /** * Stored subscription row shape — narrower than `Record` * so callers get autocompletion on the common fields without us * importing the full `subscriptions` model type (which would pull in * a circular @stacksjs/orm dependency). Keep in sync with the schema * in `database/src/custom/subscriptions.ts`. */ export declare interface StoredSubscriptionRow { id: number user_id: number type: string provider_id: string provider_status: string provider_price_id?: string unit_price?: number quantity?: number trial_ends_at?: string ends_at?: string provider_type?: string last_used_at?: string } /** * Return shape for `newSubscription` / `updateSubscription` — pairs * the Stripe-side subscription with the most-recent payment intent so * callers can immediately handle 3DS / SCA flows without a second * round-trip to Stripe. */ export declare interface NewSubscriptionResult { subscription: Stripe.Response paymentIntent?: Stripe.PaymentIntent } export declare interface ActiveSubscriptionResult { subscription: StoredSubscriptionRow providerSubscription: Stripe.Response }