import { t as DatabaseAdapter } from "../database.adapter-oL35G_XI.js"; import { s as FeatureRegistry } from "../types-3EaBC58c.js"; //#region src/adapters/prisma.adapter.d.ts /** * Prisma client type (accepts any Prisma client instance) * * `coupon` and `billingSequence` are optional models that enable the coupon * and invoice-numbering features — see docs/prisma-schema.md. When they are * missing, the adapter degrades gracefully (no coupons, fallback numbering). */ type PrismaClient = { subscriptionPlan: any; subscription: any; invoice: any; usageRecord: any; coupon?: any; billingSequence?: any; $transaction: (fn: (tx: any) => Promise) => Promise; }; /** * Options for the Prisma adapter */ interface PrismaAdapterOptions { /** * Custom table names if different from defaults */ tableNames?: { plans?: string; subscriptions?: string; invoices?: string; usageRecords?: string; }; } /** * Create a Prisma adapter for the subscriptions package * * @example * ```typescript * import { prismaAdapter } from '@abshahin/subscriptions/adapters/prisma'; * import { db } from './lib/db.js'; * * const subs = createSubscriptions({ * database: prismaAdapter(db), * features, * }); * ``` */ declare function prismaAdapter(prisma: PrismaClient, _options?: PrismaAdapterOptions): DatabaseAdapter; //#endregion export { PrismaAdapterOptions, prismaAdapter }; //# sourceMappingURL=prisma.adapter.d.ts.map