@polar-sh/better-auth 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,6 @@
1
+ import * as better_auth_client from 'better-auth/client';
2
+ import { BetterFetchOption } from 'better-auth/client';
3
+ import { PolarEmbedCheckout } from '@polar-sh/checkout/embed';
1
4
  import * as _polar_sh_sdk_models_operations_customerportalorderslist_js from '@polar-sh/sdk/models/operations/customerportalorderslist.js';
2
5
  import * as _polar_sh_sdk_models_operations_customerportalsubscriptionslist_js from '@polar-sh/sdk/models/operations/customerportalsubscriptionslist.js';
3
6
  import * as _polar_sh_sdk_models_operations_subscriptionslist_js from '@polar-sh/sdk/models/operations/subscriptionslist.js';
@@ -6,10 +9,10 @@ import * as _polar_sh_sdk_models_components_customerstate_js from '@polar-sh/sdk
6
9
  import * as _polar_sh_sdk_models_components_eventsingestresponse_js from '@polar-sh/sdk/models/components/eventsingestresponse.js';
7
10
  import * as _polar_sh_sdk_types_operations_js from '@polar-sh/sdk/types/operations.js';
8
11
  import * as _polar_sh_sdk_models_operations_customerportalcustomermeterslist_js from '@polar-sh/sdk/models/operations/customerportalcustomermeterslist.js';
9
- import * as zod from 'zod';
10
- import { z } from 'zod';
11
12
  import * as better_auth from 'better-auth';
12
13
  import { User } from 'better-auth';
14
+ import * as zod from 'zod';
15
+ import { z } from 'zod';
13
16
  import { Polar } from '@polar-sh/sdk';
14
17
  import { WebhookBenefitCreatedPayload } from '@polar-sh/sdk/models/components/webhookbenefitcreatedpayload';
15
18
  import { WebhookBenefitGrantCreatedPayload } from '@polar-sh/sdk/models/components/webhookbenefitgrantcreatedpayload';
@@ -38,9 +41,6 @@ import { WebhookSubscriptionRevokedPayload } from '@polar-sh/sdk/models/componen
38
41
  import { WebhookSubscriptionUncanceledPayload } from '@polar-sh/sdk/models/components/webhooksubscriptionuncanceledpayload';
39
42
  import { WebhookSubscriptionUpdatedPayload } from '@polar-sh/sdk/models/components/webhooksubscriptionupdatedpayload';
40
43
  import { validateEvent } from '@polar-sh/sdk/webhooks';
41
- import * as better_auth_client from 'better-auth/client';
42
- import { BetterFetchOption } from 'better-auth/client';
43
- import { PolarEmbedCheckout } from '@polar-sh/checkout/embed';
44
44
 
45
45
  interface CheckoutOptions {
46
46
  /**
@@ -101,60 +101,512 @@ declare const CheckoutParams: z.ZodObject<{
101
101
  }>;
102
102
  type CheckoutParams = z.infer<typeof CheckoutParams>;
103
103
  declare const checkout: (checkoutOptions?: CheckoutOptions) => (polar: Polar) => {
104
- checkout: {
105
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
106
- body: {
107
- products?: string | string[] | undefined;
108
- slug?: string | undefined;
109
- referenceId?: string | undefined;
110
- customFieldData?: Record<string, string | number | boolean> | undefined;
111
- metadata?: Record<string, string | number | boolean> | undefined;
112
- allowDiscountCodes?: boolean | undefined;
113
- discountId?: string | undefined;
114
- redirect?: boolean | undefined;
115
- embedOrigin?: string | undefined;
104
+ checkout: better_auth.StrictEndpoint<"/checkout", {
105
+ method: "POST";
106
+ body: z.ZodObject<{
107
+ products: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
108
+ slug: z.ZodOptional<z.ZodString>;
109
+ referenceId: z.ZodOptional<z.ZodString>;
110
+ customFieldData: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
111
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
112
+ allowDiscountCodes: z.ZodOptional<z.ZodBoolean>;
113
+ discountId: z.ZodOptional<z.ZodString>;
114
+ redirect: z.ZodOptional<z.ZodBoolean>;
115
+ embedOrigin: z.ZodOptional<z.ZodString>;
116
+ }, "strip", z.ZodTypeAny, {
117
+ products?: string | string[] | undefined;
118
+ slug?: string | undefined;
119
+ referenceId?: string | undefined;
120
+ customFieldData?: Record<string, string | number | boolean> | undefined;
121
+ metadata?: Record<string, string | number | boolean> | undefined;
122
+ allowDiscountCodes?: boolean | undefined;
123
+ discountId?: string | undefined;
124
+ redirect?: boolean | undefined;
125
+ embedOrigin?: string | undefined;
126
+ }, {
127
+ products?: string | string[] | undefined;
128
+ slug?: string | undefined;
129
+ referenceId?: string | undefined;
130
+ customFieldData?: Record<string, string | number | boolean> | undefined;
131
+ metadata?: Record<string, string | number | boolean> | undefined;
132
+ allowDiscountCodes?: boolean | undefined;
133
+ discountId?: string | undefined;
134
+ redirect?: boolean | undefined;
135
+ embedOrigin?: string | undefined;
136
+ }>;
137
+ } & {
138
+ use: any[];
139
+ }, {
140
+ url: string;
141
+ redirect: boolean;
142
+ }>;
143
+ };
144
+
145
+ interface PortalConfig {
146
+ returnUrl?: string;
147
+ }
148
+ declare const portal: ({ returnUrl }?: PortalConfig) => (polar: Polar) => {
149
+ portal: better_auth.StrictEndpoint<"/customer/portal", {
150
+ method: "GET";
151
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
152
+ session: {
153
+ session: Record<string, any> & {
154
+ id: string;
155
+ createdAt: Date;
156
+ updatedAt: Date;
157
+ userId: string;
158
+ expiresAt: Date;
159
+ token: string;
160
+ ipAddress?: string | null | undefined;
161
+ userAgent?: string | null | undefined;
162
+ };
163
+ user: Record<string, any> & {
164
+ id: string;
165
+ createdAt: Date;
166
+ updatedAt: Date;
167
+ email: string;
168
+ emailVerified: boolean;
169
+ name: string;
170
+ image?: string | null | undefined;
171
+ };
116
172
  };
117
- } & {
118
- method?: "POST" | undefined;
119
- } & {
120
- query?: Record<string, any> | undefined;
121
- } & {
122
- params?: Record<string, any>;
123
- } & {
124
- request?: Request;
125
- } & {
126
- headers?: HeadersInit;
127
- } & {
128
- asResponse?: boolean;
129
- returnHeaders?: boolean;
130
- use?: better_auth.Middleware[];
131
- path?: string;
132
- } & {
133
- asResponse?: AsResponse | undefined;
134
- returnHeaders?: ReturnHeaders | undefined;
135
- }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
136
- headers: Headers;
137
- response: {
138
- url: string;
139
- redirect: boolean;
173
+ }>)[];
174
+ } & {
175
+ use: any[];
176
+ }, {
177
+ url: string;
178
+ redirect: boolean;
179
+ }>;
180
+ state: better_auth.StrictEndpoint<"/customer/state", {
181
+ method: "GET";
182
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
183
+ session: {
184
+ session: Record<string, any> & {
185
+ id: string;
186
+ createdAt: Date;
187
+ updatedAt: Date;
188
+ userId: string;
189
+ expiresAt: Date;
190
+ token: string;
191
+ ipAddress?: string | null | undefined;
192
+ userAgent?: string | null | undefined;
193
+ };
194
+ user: Record<string, any> & {
195
+ id: string;
196
+ createdAt: Date;
197
+ updatedAt: Date;
198
+ email: string;
199
+ emailVerified: boolean;
200
+ name: string;
201
+ image?: string | null | undefined;
202
+ };
140
203
  };
141
- } : {
142
- url: string;
143
- redirect: boolean;
204
+ }>)[];
205
+ } & {
206
+ use: any[];
207
+ }, _polar_sh_sdk_models_components_customerstate_js.CustomerState>;
208
+ benefits: better_auth.StrictEndpoint<"/customer/benefits/list", {
209
+ method: "GET";
210
+ query: z.ZodOptional<z.ZodObject<{
211
+ page: z.ZodOptional<z.ZodNumber>;
212
+ limit: z.ZodOptional<z.ZodNumber>;
213
+ }, "strip", z.ZodTypeAny, {
214
+ page?: number | undefined;
215
+ limit?: number | undefined;
216
+ }, {
217
+ page?: number | undefined;
218
+ limit?: number | undefined;
219
+ }>>;
220
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
221
+ session: {
222
+ session: Record<string, any> & {
223
+ id: string;
224
+ createdAt: Date;
225
+ updatedAt: Date;
226
+ userId: string;
227
+ expiresAt: Date;
228
+ token: string;
229
+ ipAddress?: string | null | undefined;
230
+ userAgent?: string | null | undefined;
231
+ };
232
+ user: Record<string, any> & {
233
+ id: string;
234
+ createdAt: Date;
235
+ updatedAt: Date;
236
+ email: string;
237
+ emailVerified: boolean;
238
+ name: string;
239
+ image?: string | null | undefined;
240
+ };
241
+ };
242
+ }>)[];
243
+ } & {
244
+ use: any[];
245
+ }, _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js.CustomerPortalBenefitGrantsListResponse, {
246
+ page: number;
247
+ }>>;
248
+ subscriptions: better_auth.StrictEndpoint<"/customer/subscriptions/list", {
249
+ method: "GET";
250
+ query: z.ZodOptional<z.ZodObject<{
251
+ referenceId: z.ZodOptional<z.ZodString>;
252
+ page: z.ZodOptional<z.ZodNumber>;
253
+ limit: z.ZodOptional<z.ZodNumber>;
254
+ active: z.ZodOptional<z.ZodBoolean>;
255
+ }, "strip", z.ZodTypeAny, {
256
+ referenceId?: string | undefined;
257
+ page?: number | undefined;
258
+ limit?: number | undefined;
259
+ active?: boolean | undefined;
260
+ }, {
261
+ referenceId?: string | undefined;
262
+ page?: number | undefined;
263
+ limit?: number | undefined;
264
+ active?: boolean | undefined;
265
+ }>>;
266
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
267
+ session: {
268
+ session: Record<string, any> & {
269
+ id: string;
270
+ createdAt: Date;
271
+ updatedAt: Date;
272
+ userId: string;
273
+ expiresAt: Date;
274
+ token: string;
275
+ ipAddress?: string | null | undefined;
276
+ userAgent?: string | null | undefined;
277
+ };
278
+ user: Record<string, any> & {
279
+ id: string;
280
+ createdAt: Date;
281
+ updatedAt: Date;
282
+ email: string;
283
+ emailVerified: boolean;
284
+ name: string;
285
+ image?: string | null | undefined;
286
+ };
287
+ };
288
+ }>)[];
289
+ } & {
290
+ use: any[];
291
+ }, _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_subscriptionslist_js.SubscriptionsListResponse, {
292
+ page: number;
293
+ }> | _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalsubscriptionslist_js.CustomerPortalSubscriptionsListResponse, {
294
+ page: number;
295
+ }>>;
296
+ orders: better_auth.StrictEndpoint<"/customer/orders/list", {
297
+ method: "GET";
298
+ query: z.ZodOptional<z.ZodObject<{
299
+ page: z.ZodOptional<z.ZodNumber>;
300
+ limit: z.ZodOptional<z.ZodNumber>;
301
+ productBillingType: z.ZodOptional<z.ZodEnum<["recurring", "one_time"]>>;
302
+ }, "strip", z.ZodTypeAny, {
303
+ page?: number | undefined;
304
+ limit?: number | undefined;
305
+ productBillingType?: "recurring" | "one_time" | undefined;
306
+ }, {
307
+ page?: number | undefined;
308
+ limit?: number | undefined;
309
+ productBillingType?: "recurring" | "one_time" | undefined;
310
+ }>>;
311
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
312
+ session: {
313
+ session: Record<string, any> & {
314
+ id: string;
315
+ createdAt: Date;
316
+ updatedAt: Date;
317
+ userId: string;
318
+ expiresAt: Date;
319
+ token: string;
320
+ ipAddress?: string | null | undefined;
321
+ userAgent?: string | null | undefined;
322
+ };
323
+ user: Record<string, any> & {
324
+ id: string;
325
+ createdAt: Date;
326
+ updatedAt: Date;
327
+ email: string;
328
+ emailVerified: boolean;
329
+ name: string;
330
+ image?: string | null | undefined;
331
+ };
332
+ };
333
+ }>)[];
334
+ } & {
335
+ use: any[];
336
+ }, _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalorderslist_js.CustomerPortalOrdersListResponse, {
337
+ page: number;
338
+ }>>;
339
+ };
340
+
341
+ interface UsageOptions {
342
+ /**
343
+ * Products to use for topping up credits
344
+ */
345
+ creditProducts?: Product[] | (() => Promise<Product[]>);
346
+ }
347
+ declare const usage: (_usageOptions?: UsageOptions) => (polar: Polar) => {
348
+ meters: better_auth.StrictEndpoint<"/usage/meters/list", {
349
+ method: "GET";
350
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
351
+ session: {
352
+ session: Record<string, any> & {
353
+ id: string;
354
+ createdAt: Date;
355
+ updatedAt: Date;
356
+ userId: string;
357
+ expiresAt: Date;
358
+ token: string;
359
+ ipAddress?: string | null | undefined;
360
+ userAgent?: string | null | undefined;
361
+ };
362
+ user: Record<string, any> & {
363
+ id: string;
364
+ createdAt: Date;
365
+ updatedAt: Date;
366
+ email: string;
367
+ emailVerified: boolean;
368
+ name: string;
369
+ image?: string | null | undefined;
370
+ };
371
+ };
372
+ }>)[];
373
+ query: z.ZodObject<{
374
+ page: z.ZodOptional<z.ZodNumber>;
375
+ limit: z.ZodOptional<z.ZodNumber>;
376
+ }, "strip", z.ZodTypeAny, {
377
+ page?: number | undefined;
378
+ limit?: number | undefined;
379
+ }, {
380
+ page?: number | undefined;
381
+ limit?: number | undefined;
144
382
  }>;
145
- options: {
383
+ } & {
384
+ use: any[];
385
+ }, _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalcustomermeterslist_js.CustomerPortalCustomerMetersListResponse, {
386
+ page: number;
387
+ }>>;
388
+ ingestion: better_auth.StrictEndpoint<"/usage/ingest", {
389
+ method: "POST";
390
+ body: z.ZodObject<{
391
+ event: z.ZodString;
392
+ metadata: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
393
+ }, "strip", z.ZodTypeAny, {
394
+ metadata: Record<string, string | number | boolean>;
395
+ event: string;
396
+ }, {
397
+ metadata: Record<string, string | number | boolean>;
398
+ event: string;
399
+ }>;
400
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
401
+ session: {
402
+ session: Record<string, any> & {
403
+ id: string;
404
+ createdAt: Date;
405
+ updatedAt: Date;
406
+ userId: string;
407
+ expiresAt: Date;
408
+ token: string;
409
+ ipAddress?: string | null | undefined;
410
+ userAgent?: string | null | undefined;
411
+ };
412
+ user: Record<string, any> & {
413
+ id: string;
414
+ createdAt: Date;
415
+ updatedAt: Date;
416
+ email: string;
417
+ emailVerified: boolean;
418
+ name: string;
419
+ image?: string | null | undefined;
420
+ };
421
+ };
422
+ }>)[];
423
+ } & {
424
+ use: any[];
425
+ }, _polar_sh_sdk_models_components_eventsingestresponse_js.EventsIngestResponse>;
426
+ };
427
+
428
+ interface WebhooksOptions {
429
+ /**
430
+ * Webhook Secret
431
+ */
432
+ secret: string;
433
+ /**
434
+ * Generic handler for all webhooks
435
+ */
436
+ onPayload?: (payload: ReturnType<typeof validateEvent>) => Promise<void>;
437
+ /**
438
+ * Webhook for checkout created
439
+ */
440
+ onCheckoutCreated?: (payload: WebhookCheckoutCreatedPayload) => Promise<void>;
441
+ /**
442
+ * Webhook for checkout updated
443
+ */
444
+ onCheckoutUpdated?: (payload: WebhookCheckoutUpdatedPayload) => Promise<void>;
445
+ /**
446
+ * Webhook for order created
447
+ */
448
+ onOrderCreated?: (payload: WebhookOrderCreatedPayload) => Promise<void>;
449
+ /**
450
+ * Webhook for order refunded
451
+ */
452
+ onOrderRefunded?: (payload: WebhookOrderRefundedPayload) => Promise<void>;
453
+ /**
454
+ * Webhook for order paid
455
+ */
456
+ onOrderPaid?: (payload: WebhookOrderPaidPayload) => Promise<void>;
457
+ /**
458
+ * Webhook for order updated
459
+ */
460
+ onOrderUpdated?: (payload: WebhookOrderUpdatedPayload) => Promise<void>;
461
+ /**
462
+ * Webhook for refund created
463
+ */
464
+ onRefundCreated?: (payload: WebhookRefundCreatedPayload) => Promise<void>;
465
+ /**
466
+ * Webhook for refund updated
467
+ */
468
+ onRefundUpdated?: (payload: WebhookRefundUpdatedPayload) => Promise<void>;
469
+ /**
470
+ * Webhook for subscription created
471
+ */
472
+ onSubscriptionCreated?: (payload: WebhookSubscriptionCreatedPayload) => Promise<void>;
473
+ /**
474
+ * Webhook for subscription updated
475
+ */
476
+ onSubscriptionUpdated?: (payload: WebhookSubscriptionUpdatedPayload) => Promise<void>;
477
+ /**
478
+ * Webhook for subscription active
479
+ */
480
+ onSubscriptionActive?: (payload: WebhookSubscriptionActivePayload) => Promise<void>;
481
+ /**
482
+ * Webhook for subscription canceled
483
+ */
484
+ onSubscriptionCanceled?: (payload: WebhookSubscriptionCanceledPayload) => Promise<void>;
485
+ /**
486
+ * Webhook for subscription revoked
487
+ */
488
+ onSubscriptionRevoked?: (payload: WebhookSubscriptionRevokedPayload) => Promise<void>;
489
+ /**
490
+ * Webhook for subscription uncanceled
491
+ */
492
+ onSubscriptionUncanceled?: (payload: WebhookSubscriptionUncanceledPayload) => Promise<void>;
493
+ /**
494
+ * Webhook for product created
495
+ */
496
+ onProductCreated?: (payload: WebhookProductCreatedPayload) => Promise<void>;
497
+ /**
498
+ * Webhook for product updated
499
+ */
500
+ onProductUpdated?: (payload: WebhookProductUpdatedPayload) => Promise<void>;
501
+ /**
502
+ * Webhook for organization updated
503
+ */
504
+ onOrganizationUpdated?: (payload: WebhookOrganizationUpdatedPayload) => Promise<void>;
505
+ /**
506
+ * Webhook for benefit created
507
+ */
508
+ onBenefitCreated?: (payload: WebhookBenefitCreatedPayload) => Promise<void>;
509
+ /**
510
+ * Webhook for benefit updated
511
+ */
512
+ onBenefitUpdated?: (payload: WebhookBenefitUpdatedPayload) => Promise<void>;
513
+ /**
514
+ * Webhook for benefit grant created
515
+ */
516
+ onBenefitGrantCreated?: (payload: WebhookBenefitGrantCreatedPayload) => Promise<void>;
517
+ /**
518
+ * Webhook for benefit grant updated
519
+ */
520
+ onBenefitGrantUpdated?: (payload: WebhookBenefitGrantUpdatedPayload) => Promise<void>;
521
+ /**
522
+ * Webhook for benefit grant revoked
523
+ */
524
+ onBenefitGrantRevoked?: (payload: WebhookBenefitGrantRevokedPayload) => Promise<void>;
525
+ /**
526
+ * Webhook for customer created
527
+ */
528
+ onCustomerCreated?: (payload: WebhookCustomerCreatedPayload) => Promise<void>;
529
+ /**
530
+ * Webhook for customer updated
531
+ */
532
+ onCustomerUpdated?: (payload: WebhookCustomerUpdatedPayload) => Promise<void>;
533
+ /**
534
+ * Webhook for customer deleted
535
+ */
536
+ onCustomerDeleted?: (payload: WebhookCustomerDeletedPayload) => Promise<void>;
537
+ /**
538
+ * Webhook for customer state changed
539
+ */
540
+ onCustomerStateChanged?: (payload: WebhookCustomerStateChangedPayload) => Promise<void>;
541
+ }
542
+ declare const webhooks: (options: WebhooksOptions) => (_polar: Polar) => {
543
+ polarWebhooks: better_auth.StrictEndpoint<"/polar/webhooks", {
544
+ method: "POST";
545
+ metadata: {
546
+ isAction: false;
547
+ };
548
+ cloneRequest: true;
549
+ } & {
550
+ use: any[];
551
+ }, {
552
+ received: boolean;
553
+ }>;
554
+ };
555
+
556
+ type Product = {
557
+ /**
558
+ * Product Id from Polar Product
559
+ */
560
+ productId: string;
561
+ /**
562
+ * Easily identifiable slug for the product
563
+ */
564
+ slug: string;
565
+ };
566
+ type PolarPlugin = ReturnType<typeof checkout> | ReturnType<typeof usage> | ReturnType<typeof portal> | ReturnType<typeof webhooks>;
567
+ type PolarPlugins = [PolarPlugin, ...PolarPlugin[]];
568
+ interface PolarOptions {
569
+ /**
570
+ * Polar Client
571
+ */
572
+ client: Polar;
573
+ /**
574
+ * Enable customer creation when a user signs up
575
+ */
576
+ createCustomerOnSignUp?: boolean;
577
+ /**
578
+ * A custom function to get the customer create
579
+ * params
580
+ * @param data - data containing user and session
581
+ * @returns
582
+ */
583
+ getCustomerCreateParams?: (data: {
584
+ user: Partial<User>;
585
+ }, request?: Request) => Promise<{
586
+ metadata?: Record<string, string | number | boolean>;
587
+ }>;
588
+ /**
589
+ * Use Polar plugins
590
+ */
591
+ use: PolarPlugins;
592
+ }
593
+
594
+ declare const polar: <O extends PolarOptions>(options: O) => {
595
+ id: "polar";
596
+ endpoints: {
597
+ checkout: better_auth.StrictEndpoint<"/checkout", {
146
598
  method: "POST";
147
- body: z.ZodObject<{
148
- products: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
149
- slug: z.ZodOptional<z.ZodString>;
150
- referenceId: z.ZodOptional<z.ZodString>;
151
- customFieldData: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
152
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
153
- allowDiscountCodes: z.ZodOptional<z.ZodBoolean>;
154
- discountId: z.ZodOptional<z.ZodString>;
155
- redirect: z.ZodOptional<z.ZodBoolean>;
156
- embedOrigin: z.ZodOptional<z.ZodString>;
157
- }, "strip", z.ZodTypeAny, {
599
+ body: zod.ZodObject<{
600
+ products: zod.ZodOptional<zod.ZodUnion<[zod.ZodArray<zod.ZodString, "many">, zod.ZodString]>>;
601
+ slug: zod.ZodOptional<zod.ZodString>;
602
+ referenceId: zod.ZodOptional<zod.ZodString>;
603
+ customFieldData: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodString, zod.ZodNumber, zod.ZodBoolean]>>>;
604
+ metadata: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodString, zod.ZodNumber, zod.ZodBoolean]>>>;
605
+ allowDiscountCodes: zod.ZodOptional<zod.ZodBoolean>;
606
+ discountId: zod.ZodOptional<zod.ZodString>;
607
+ redirect: zod.ZodOptional<zod.ZodBoolean>;
608
+ embedOrigin: zod.ZodOptional<zod.ZodString>;
609
+ }, "strip", zod.ZodTypeAny, {
158
610
  products?: string | string[] | undefined;
159
611
  slug?: string | undefined;
160
612
  referenceId?: string | undefined;
@@ -177,47 +629,12 @@ declare const checkout: (checkoutOptions?: CheckoutOptions) => (polar: Polar) =>
177
629
  }>;
178
630
  } & {
179
631
  use: any[];
180
- };
181
- path: "/checkout";
182
- };
183
- };
184
-
185
- interface PortalConfig {
186
- returnUrl?: string;
187
- }
188
- declare const portal: ({ returnUrl }?: PortalConfig) => (polar: Polar) => {
189
- portal: {
190
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
191
- body?: undefined;
192
- } & {
193
- method?: "GET" | undefined;
194
- } & {
195
- query?: Record<string, any> | undefined;
196
- } & {
197
- params?: Record<string, any>;
198
- } & {
199
- request?: Request;
200
- } & {
201
- headers?: HeadersInit;
202
- } & {
203
- asResponse?: boolean;
204
- returnHeaders?: boolean;
205
- use?: better_auth.Middleware[];
206
- path?: string;
207
- } & {
208
- asResponse?: AsResponse | undefined;
209
- returnHeaders?: ReturnHeaders | undefined;
210
- }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
211
- headers: Headers;
212
- response: {
213
- url: string;
214
- redirect: boolean;
215
- };
216
- } : {
632
+ }, {
217
633
  url: string;
218
634
  redirect: boolean;
219
635
  }>;
220
- options: {
636
+ } | {
637
+ meters: better_auth.StrictEndpoint<"/usage/meters/list", {
221
638
  method: "GET";
222
639
  use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
223
640
  session: {
@@ -242,38 +659,33 @@ declare const portal: ({ returnUrl }?: PortalConfig) => (polar: Polar) => {
242
659
  };
243
660
  };
244
661
  }>)[];
662
+ query: zod.ZodObject<{
663
+ page: zod.ZodOptional<zod.ZodNumber>;
664
+ limit: zod.ZodOptional<zod.ZodNumber>;
665
+ }, "strip", zod.ZodTypeAny, {
666
+ page?: number | undefined;
667
+ limit?: number | undefined;
668
+ }, {
669
+ page?: number | undefined;
670
+ limit?: number | undefined;
671
+ }>;
245
672
  } & {
246
673
  use: any[];
247
- };
248
- path: "/customer/portal";
249
- };
250
- state: {
251
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
252
- body?: undefined;
253
- } & {
254
- method?: "GET" | undefined;
255
- } & {
256
- query?: Record<string, any> | undefined;
257
- } & {
258
- params?: Record<string, any>;
259
- } & {
260
- request?: Request;
261
- } & {
262
- headers?: HeadersInit;
263
- } & {
264
- asResponse?: boolean;
265
- returnHeaders?: boolean;
266
- use?: better_auth.Middleware[];
267
- path?: string;
268
- } & {
269
- asResponse?: AsResponse | undefined;
270
- returnHeaders?: ReturnHeaders | undefined;
271
- }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
272
- headers: Headers;
273
- response: _polar_sh_sdk_models_components_customerstate_js.CustomerState;
274
- } : _polar_sh_sdk_models_components_customerstate_js.CustomerState>;
275
- options: {
276
- method: "GET";
674
+ }, _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalcustomermeterslist_js.CustomerPortalCustomerMetersListResponse, {
675
+ page: number;
676
+ }>>;
677
+ ingestion: better_auth.StrictEndpoint<"/usage/ingest", {
678
+ method: "POST";
679
+ body: zod.ZodObject<{
680
+ event: zod.ZodString;
681
+ metadata: zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodString, zod.ZodNumber, zod.ZodBoolean]>>;
682
+ }, "strip", zod.ZodTypeAny, {
683
+ metadata: Record<string, string | number | boolean>;
684
+ event: string;
685
+ }, {
686
+ metadata: Record<string, string | number | boolean>;
687
+ event: string;
688
+ }>;
277
689
  use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
278
690
  session: {
279
691
  session: Record<string, any> & {
@@ -299,53 +711,10 @@ declare const portal: ({ returnUrl }?: PortalConfig) => (polar: Polar) => {
299
711
  }>)[];
300
712
  } & {
301
713
  use: any[];
302
- };
303
- path: "/customer/state";
304
- };
305
- benefits: {
306
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
307
- body?: undefined;
308
- } & {
309
- method?: "GET" | undefined;
310
- } & {
311
- query?: {
312
- page?: number | undefined;
313
- limit?: number | undefined;
314
- } | undefined;
315
- } & {
316
- params?: Record<string, any>;
317
- } & {
318
- request?: Request;
319
- } & {
320
- headers?: HeadersInit;
321
- } & {
322
- asResponse?: boolean;
323
- returnHeaders?: boolean;
324
- use?: better_auth.Middleware[];
325
- path?: string;
326
- } & {
327
- asResponse?: AsResponse | undefined;
328
- returnHeaders?: ReturnHeaders | undefined;
329
- }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
330
- headers: Headers;
331
- response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js.CustomerPortalBenefitGrantsListResponse, {
332
- page: number;
333
- }>;
334
- } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js.CustomerPortalBenefitGrantsListResponse, {
335
- page: number;
336
- }>>;
337
- options: {
714
+ }, _polar_sh_sdk_models_components_eventsingestresponse_js.EventsIngestResponse>;
715
+ } | {
716
+ portal: better_auth.StrictEndpoint<"/customer/portal", {
338
717
  method: "GET";
339
- query: z.ZodOptional<z.ZodObject<{
340
- page: z.ZodOptional<z.ZodNumber>;
341
- limit: z.ZodOptional<z.ZodNumber>;
342
- }, "strip", z.ZodTypeAny, {
343
- page?: number | undefined;
344
- limit?: number | undefined;
345
- }, {
346
- page?: number | undefined;
347
- limit?: number | undefined;
348
- }>>;
349
718
  use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
350
719
  session: {
351
720
  session: Record<string, any> & {
@@ -371,65 +740,12 @@ declare const portal: ({ returnUrl }?: PortalConfig) => (polar: Polar) => {
371
740
  }>)[];
372
741
  } & {
373
742
  use: any[];
374
- };
375
- path: "/customer/benefits/list";
376
- };
377
- subscriptions: {
378
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
379
- body?: undefined;
380
- } & {
381
- method?: "GET" | undefined;
382
- } & {
383
- query?: {
384
- referenceId?: string | undefined;
385
- page?: number | undefined;
386
- limit?: number | undefined;
387
- active?: boolean | undefined;
388
- } | undefined;
389
- } & {
390
- params?: Record<string, any>;
391
- } & {
392
- request?: Request;
393
- } & {
394
- headers?: HeadersInit;
395
- } & {
396
- asResponse?: boolean;
397
- returnHeaders?: boolean;
398
- use?: better_auth.Middleware[];
399
- path?: string;
400
- } & {
401
- asResponse?: AsResponse | undefined;
402
- returnHeaders?: ReturnHeaders | undefined;
403
- }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
404
- headers: Headers;
405
- response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_subscriptionslist_js.SubscriptionsListResponse, {
406
- page: number;
407
- }> | _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalsubscriptionslist_js.CustomerPortalSubscriptionsListResponse, {
408
- page: number;
409
- }>;
410
- } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_subscriptionslist_js.SubscriptionsListResponse, {
411
- page: number;
412
- }> | _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalsubscriptionslist_js.CustomerPortalSubscriptionsListResponse, {
413
- page: number;
414
- }>>;
415
- options: {
743
+ }, {
744
+ url: string;
745
+ redirect: boolean;
746
+ }>;
747
+ state: better_auth.StrictEndpoint<"/customer/state", {
416
748
  method: "GET";
417
- query: z.ZodOptional<z.ZodObject<{
418
- referenceId: z.ZodOptional<z.ZodString>;
419
- page: z.ZodOptional<z.ZodNumber>;
420
- limit: z.ZodOptional<z.ZodNumber>;
421
- active: z.ZodOptional<z.ZodBoolean>;
422
- }, "strip", z.ZodTypeAny, {
423
- referenceId?: string | undefined;
424
- page?: number | undefined;
425
- limit?: number | undefined;
426
- active?: boolean | undefined;
427
- }, {
428
- referenceId?: string | undefined;
429
- page?: number | undefined;
430
- limit?: number | undefined;
431
- active?: boolean | undefined;
432
- }>>;
433
749
  use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
434
750
  session: {
435
751
  session: Record<string, any> & {
@@ -455,56 +771,18 @@ declare const portal: ({ returnUrl }?: PortalConfig) => (polar: Polar) => {
455
771
  }>)[];
456
772
  } & {
457
773
  use: any[];
458
- };
459
- path: "/customer/subscriptions/list";
460
- };
461
- orders: {
462
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
463
- body?: undefined;
464
- } & {
465
- method?: "GET" | undefined;
466
- } & {
467
- query?: {
468
- page?: number | undefined;
469
- limit?: number | undefined;
470
- productBillingType?: "recurring" | "one_time" | undefined;
471
- } | undefined;
472
- } & {
473
- params?: Record<string, any>;
474
- } & {
475
- request?: Request;
476
- } & {
477
- headers?: HeadersInit;
478
- } & {
479
- asResponse?: boolean;
480
- returnHeaders?: boolean;
481
- use?: better_auth.Middleware[];
482
- path?: string;
483
- } & {
484
- asResponse?: AsResponse | undefined;
485
- returnHeaders?: ReturnHeaders | undefined;
486
- }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
487
- headers: Headers;
488
- response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalorderslist_js.CustomerPortalOrdersListResponse, {
489
- page: number;
490
- }>;
491
- } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalorderslist_js.CustomerPortalOrdersListResponse, {
492
- page: number;
493
- }>>;
494
- options: {
774
+ }, _polar_sh_sdk_models_components_customerstate_js.CustomerState>;
775
+ benefits: better_auth.StrictEndpoint<"/customer/benefits/list", {
495
776
  method: "GET";
496
- query: z.ZodOptional<z.ZodObject<{
497
- page: z.ZodOptional<z.ZodNumber>;
498
- limit: z.ZodOptional<z.ZodNumber>;
499
- productBillingType: z.ZodOptional<z.ZodEnum<["recurring", "one_time"]>>;
500
- }, "strip", z.ZodTypeAny, {
777
+ query: zod.ZodOptional<zod.ZodObject<{
778
+ page: zod.ZodOptional<zod.ZodNumber>;
779
+ limit: zod.ZodOptional<zod.ZodNumber>;
780
+ }, "strip", zod.ZodTypeAny, {
501
781
  page?: number | undefined;
502
782
  limit?: number | undefined;
503
- productBillingType?: "recurring" | "one_time" | undefined;
504
783
  }, {
505
784
  page?: number | undefined;
506
785
  limit?: number | undefined;
507
- productBillingType?: "recurring" | "one_time" | undefined;
508
786
  }>>;
509
787
  use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
510
788
  session: {
@@ -531,52 +809,27 @@ declare const portal: ({ returnUrl }?: PortalConfig) => (polar: Polar) => {
531
809
  }>)[];
532
810
  } & {
533
811
  use: any[];
534
- };
535
- path: "/customer/orders/list";
536
- };
537
- };
538
-
539
- interface UsageOptions {
540
- /**
541
- * Products to use for topping up credits
542
- */
543
- creditProducts?: Product[] | (() => Promise<Product[]>);
544
- }
545
- declare const usage: (_usageOptions?: UsageOptions) => (polar: Polar) => {
546
- meters: {
547
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
548
- body?: undefined;
549
- } & {
550
- method?: "GET" | undefined;
551
- } & {
552
- query: {
553
- page?: number | undefined;
554
- limit?: number | undefined;
555
- };
556
- } & {
557
- params?: Record<string, any>;
558
- } & {
559
- request?: Request;
560
- } & {
561
- headers?: HeadersInit;
562
- } & {
563
- asResponse?: boolean;
564
- returnHeaders?: boolean;
565
- use?: better_auth.Middleware[];
566
- path?: string;
567
- } & {
568
- asResponse?: AsResponse | undefined;
569
- returnHeaders?: ReturnHeaders | undefined;
570
- }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
571
- headers: Headers;
572
- response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalcustomermeterslist_js.CustomerPortalCustomerMetersListResponse, {
573
- page: number;
574
- }>;
575
- } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalcustomermeterslist_js.CustomerPortalCustomerMetersListResponse, {
812
+ }, _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js.CustomerPortalBenefitGrantsListResponse, {
576
813
  page: number;
577
814
  }>>;
578
- options: {
815
+ subscriptions: better_auth.StrictEndpoint<"/customer/subscriptions/list", {
579
816
  method: "GET";
817
+ query: zod.ZodOptional<zod.ZodObject<{
818
+ referenceId: zod.ZodOptional<zod.ZodString>;
819
+ page: zod.ZodOptional<zod.ZodNumber>;
820
+ limit: zod.ZodOptional<zod.ZodNumber>;
821
+ active: zod.ZodOptional<zod.ZodBoolean>;
822
+ }, "strip", zod.ZodTypeAny, {
823
+ referenceId?: string | undefined;
824
+ page?: number | undefined;
825
+ limit?: number | undefined;
826
+ active?: boolean | undefined;
827
+ }, {
828
+ referenceId?: string | undefined;
829
+ page?: number | undefined;
830
+ limit?: number | undefined;
831
+ active?: boolean | undefined;
832
+ }>>;
580
833
  use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
581
834
  session: {
582
835
  session: Record<string, any> & {
@@ -600,61 +853,28 @@ declare const usage: (_usageOptions?: UsageOptions) => (polar: Polar) => {
600
853
  };
601
854
  };
602
855
  }>)[];
603
- query: z.ZodObject<{
604
- page: z.ZodOptional<z.ZodNumber>;
605
- limit: z.ZodOptional<z.ZodNumber>;
606
- }, "strip", z.ZodTypeAny, {
856
+ } & {
857
+ use: any[];
858
+ }, _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_subscriptionslist_js.SubscriptionsListResponse, {
859
+ page: number;
860
+ }> | _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalsubscriptionslist_js.CustomerPortalSubscriptionsListResponse, {
861
+ page: number;
862
+ }>>;
863
+ orders: better_auth.StrictEndpoint<"/customer/orders/list", {
864
+ method: "GET";
865
+ query: zod.ZodOptional<zod.ZodObject<{
866
+ page: zod.ZodOptional<zod.ZodNumber>;
867
+ limit: zod.ZodOptional<zod.ZodNumber>;
868
+ productBillingType: zod.ZodOptional<zod.ZodEnum<["recurring", "one_time"]>>;
869
+ }, "strip", zod.ZodTypeAny, {
607
870
  page?: number | undefined;
608
871
  limit?: number | undefined;
872
+ productBillingType?: "recurring" | "one_time" | undefined;
609
873
  }, {
610
874
  page?: number | undefined;
611
875
  limit?: number | undefined;
612
- }>;
613
- } & {
614
- use: any[];
615
- };
616
- path: "/usage/meters/list";
617
- };
618
- ingestion: {
619
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
620
- body: {
621
- metadata: Record<string, string | number | boolean>;
622
- event: string;
623
- };
624
- } & {
625
- method?: "POST" | undefined;
626
- } & {
627
- query?: Record<string, any> | undefined;
628
- } & {
629
- params?: Record<string, any>;
630
- } & {
631
- request?: Request;
632
- } & {
633
- headers?: HeadersInit;
634
- } & {
635
- asResponse?: boolean;
636
- returnHeaders?: boolean;
637
- use?: better_auth.Middleware[];
638
- path?: string;
639
- } & {
640
- asResponse?: AsResponse | undefined;
641
- returnHeaders?: ReturnHeaders | undefined;
642
- }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
643
- headers: Headers;
644
- response: _polar_sh_sdk_models_components_eventsingestresponse_js.EventsIngestResponse;
645
- } : _polar_sh_sdk_models_components_eventsingestresponse_js.EventsIngestResponse>;
646
- options: {
647
- method: "POST";
648
- body: z.ZodObject<{
649
- event: z.ZodString;
650
- metadata: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
651
- }, "strip", z.ZodTypeAny, {
652
- metadata: Record<string, string | number | boolean>;
653
- event: string;
654
- }, {
655
- metadata: Record<string, string | number | boolean>;
656
- event: string;
657
- }>;
876
+ productBillingType?: "recurring" | "one_time" | undefined;
877
+ }>>;
658
878
  use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
659
879
  session: {
660
880
  session: Record<string, any> & {
@@ -680,841 +900,35 @@ declare const usage: (_usageOptions?: UsageOptions) => (polar: Polar) => {
680
900
  }>)[];
681
901
  } & {
682
902
  use: any[];
683
- };
684
- path: "/usage/ingest";
685
- };
686
- };
687
-
688
- interface WebhooksOptions {
689
- /**
690
- * Webhook Secret
691
- */
692
- secret: string;
693
- /**
694
- * Generic handler for all webhooks
695
- */
696
- onPayload?: (payload: ReturnType<typeof validateEvent>) => Promise<void>;
697
- /**
698
- * Webhook for checkout created
699
- */
700
- onCheckoutCreated?: (payload: WebhookCheckoutCreatedPayload) => Promise<void>;
701
- /**
702
- * Webhook for checkout updated
703
- */
704
- onCheckoutUpdated?: (payload: WebhookCheckoutUpdatedPayload) => Promise<void>;
705
- /**
706
- * Webhook for order created
707
- */
708
- onOrderCreated?: (payload: WebhookOrderCreatedPayload) => Promise<void>;
709
- /**
710
- * Webhook for order refunded
711
- */
712
- onOrderRefunded?: (payload: WebhookOrderRefundedPayload) => Promise<void>;
713
- /**
714
- * Webhook for order paid
715
- */
716
- onOrderPaid?: (payload: WebhookOrderPaidPayload) => Promise<void>;
717
- /**
718
- * Webhook for order updated
719
- */
720
- onOrderUpdated?: (payload: WebhookOrderUpdatedPayload) => Promise<void>;
721
- /**
722
- * Webhook for refund created
723
- */
724
- onRefundCreated?: (payload: WebhookRefundCreatedPayload) => Promise<void>;
725
- /**
726
- * Webhook for refund updated
727
- */
728
- onRefundUpdated?: (payload: WebhookRefundUpdatedPayload) => Promise<void>;
729
- /**
730
- * Webhook for subscription created
731
- */
732
- onSubscriptionCreated?: (payload: WebhookSubscriptionCreatedPayload) => Promise<void>;
733
- /**
734
- * Webhook for subscription updated
735
- */
736
- onSubscriptionUpdated?: (payload: WebhookSubscriptionUpdatedPayload) => Promise<void>;
737
- /**
738
- * Webhook for subscription active
739
- */
740
- onSubscriptionActive?: (payload: WebhookSubscriptionActivePayload) => Promise<void>;
741
- /**
742
- * Webhook for subscription canceled
743
- */
744
- onSubscriptionCanceled?: (payload: WebhookSubscriptionCanceledPayload) => Promise<void>;
745
- /**
746
- * Webhook for subscription revoked
747
- */
748
- onSubscriptionRevoked?: (payload: WebhookSubscriptionRevokedPayload) => Promise<void>;
749
- /**
750
- * Webhook for subscription uncanceled
751
- */
752
- onSubscriptionUncanceled?: (payload: WebhookSubscriptionUncanceledPayload) => Promise<void>;
753
- /**
754
- * Webhook for product created
755
- */
756
- onProductCreated?: (payload: WebhookProductCreatedPayload) => Promise<void>;
757
- /**
758
- * Webhook for product updated
759
- */
760
- onProductUpdated?: (payload: WebhookProductUpdatedPayload) => Promise<void>;
761
- /**
762
- * Webhook for organization updated
763
- */
764
- onOrganizationUpdated?: (payload: WebhookOrganizationUpdatedPayload) => Promise<void>;
765
- /**
766
- * Webhook for benefit created
767
- */
768
- onBenefitCreated?: (payload: WebhookBenefitCreatedPayload) => Promise<void>;
769
- /**
770
- * Webhook for benefit updated
771
- */
772
- onBenefitUpdated?: (payload: WebhookBenefitUpdatedPayload) => Promise<void>;
773
- /**
774
- * Webhook for benefit grant created
775
- */
776
- onBenefitGrantCreated?: (payload: WebhookBenefitGrantCreatedPayload) => Promise<void>;
777
- /**
778
- * Webhook for benefit grant updated
779
- */
780
- onBenefitGrantUpdated?: (payload: WebhookBenefitGrantUpdatedPayload) => Promise<void>;
781
- /**
782
- * Webhook for benefit grant revoked
783
- */
784
- onBenefitGrantRevoked?: (payload: WebhookBenefitGrantRevokedPayload) => Promise<void>;
785
- /**
786
- * Webhook for customer created
787
- */
788
- onCustomerCreated?: (payload: WebhookCustomerCreatedPayload) => Promise<void>;
789
- /**
790
- * Webhook for customer updated
791
- */
792
- onCustomerUpdated?: (payload: WebhookCustomerUpdatedPayload) => Promise<void>;
793
- /**
794
- * Webhook for customer deleted
795
- */
796
- onCustomerDeleted?: (payload: WebhookCustomerDeletedPayload) => Promise<void>;
797
- /**
798
- * Webhook for customer state changed
799
- */
800
- onCustomerStateChanged?: (payload: WebhookCustomerStateChangedPayload) => Promise<void>;
801
- }
802
- declare const webhooks: (options: WebhooksOptions) => (_polar: Polar) => {
803
- polarWebhooks: {
804
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
805
- body?: undefined;
806
- } & {
807
- method?: "POST" | undefined;
808
- } & {
809
- query?: Record<string, any> | undefined;
810
- } & {
811
- params?: Record<string, any>;
812
- } & {
813
- request?: Request;
814
- } & {
815
- headers?: HeadersInit;
816
- } & {
817
- asResponse?: boolean;
818
- returnHeaders?: boolean;
819
- use?: better_auth.Middleware[];
820
- path?: string;
821
- } & {
822
- asResponse?: AsResponse | undefined;
823
- returnHeaders?: ReturnHeaders | undefined;
824
- }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
825
- headers: Headers;
826
- response: {
827
- received: boolean;
828
- };
829
- } : {
830
- received: boolean;
831
- }>;
832
- options: {
903
+ }, _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalorderslist_js.CustomerPortalOrdersListResponse, {
904
+ page: number;
905
+ }>>;
906
+ } | {
907
+ polarWebhooks: better_auth.StrictEndpoint<"/polar/webhooks", {
833
908
  method: "POST";
834
909
  metadata: {
835
- isAction: boolean;
910
+ isAction: false;
836
911
  };
837
912
  cloneRequest: true;
838
913
  } & {
839
914
  use: any[];
840
- };
841
- path: "/polar/webhooks";
842
- };
843
- };
844
-
845
- type Product = {
846
- /**
847
- * Product Id from Polar Product
848
- */
849
- productId: string;
850
- /**
851
- * Easily identifiable slug for the product
852
- */
853
- slug: string;
854
- };
855
- type PolarPlugin = ReturnType<typeof checkout> | ReturnType<typeof usage> | ReturnType<typeof portal> | ReturnType<typeof webhooks>;
856
- type PolarPlugins = [PolarPlugin, ...PolarPlugin[]];
857
- interface PolarOptions {
858
- /**
859
- * Polar Client
860
- */
861
- client: Polar;
862
- /**
863
- * Enable customer creation when a user signs up
864
- */
865
- createCustomerOnSignUp?: boolean;
866
- /**
867
- * A custom function to get the customer create
868
- * params
869
- * @param data - data containing user and session
870
- * @returns
871
- */
872
- getCustomerCreateParams?: (data: {
873
- user: Partial<User>;
874
- }, request?: Request) => Promise<{
875
- metadata?: Record<string, string | number | boolean>;
876
- }>;
877
- /**
878
- * Use Polar plugins
879
- */
880
- use: PolarPlugins;
881
- }
882
-
883
- declare const polarClient: () => {
884
- id: "polar-client";
885
- $InferServerPlugin: ReturnType<typeof polar>;
886
- getActions: ($fetch: better_auth_client.BetterFetch) => {
887
- checkoutEmbed: (data: Omit<CheckoutParams, "redirect" | "embedOrigin">, fetchOptions?: BetterFetchOption) => Promise<PolarEmbedCheckout>;
888
- };
889
- };
890
-
891
- declare const polar: <O extends PolarOptions>(options: O) => {
892
- id: "polar";
893
- endpoints: {
894
- checkout: {
895
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
896
- body: {
897
- products?: string | string[] | undefined;
898
- slug?: string | undefined;
899
- referenceId?: string | undefined;
900
- customFieldData?: Record<string, string | number | boolean> | undefined;
901
- metadata?: Record<string, string | number | boolean> | undefined;
902
- allowDiscountCodes?: boolean | undefined;
903
- discountId?: string | undefined;
904
- redirect?: boolean | undefined;
905
- embedOrigin?: string | undefined;
906
- };
907
- } & {
908
- method?: "POST" | undefined;
909
- } & {
910
- query?: Record<string, any> | undefined;
911
- } & {
912
- params?: Record<string, any>;
913
- } & {
914
- request?: Request;
915
- } & {
916
- headers?: HeadersInit;
917
- } & {
918
- asResponse?: boolean;
919
- returnHeaders?: boolean;
920
- use?: better_auth.Middleware[];
921
- path?: string;
922
- } & {
923
- asResponse?: AsResponse | undefined;
924
- returnHeaders?: ReturnHeaders | undefined;
925
- }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
926
- headers: Headers;
927
- response: {
928
- url: string;
929
- redirect: boolean;
930
- };
931
- } : {
932
- url: string;
933
- redirect: boolean;
934
- }>;
935
- options: {
936
- method: "POST";
937
- body: zod.ZodObject<{
938
- products: zod.ZodOptional<zod.ZodUnion<[zod.ZodArray<zod.ZodString, "many">, zod.ZodString]>>;
939
- slug: zod.ZodOptional<zod.ZodString>;
940
- referenceId: zod.ZodOptional<zod.ZodString>;
941
- customFieldData: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodString, zod.ZodNumber, zod.ZodBoolean]>>>;
942
- metadata: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodString, zod.ZodNumber, zod.ZodBoolean]>>>;
943
- allowDiscountCodes: zod.ZodOptional<zod.ZodBoolean>;
944
- discountId: zod.ZodOptional<zod.ZodString>;
945
- redirect: zod.ZodOptional<zod.ZodBoolean>;
946
- embedOrigin: zod.ZodOptional<zod.ZodString>;
947
- }, "strip", zod.ZodTypeAny, {
948
- products?: string | string[] | undefined;
949
- slug?: string | undefined;
950
- referenceId?: string | undefined;
951
- customFieldData?: Record<string, string | number | boolean> | undefined;
952
- metadata?: Record<string, string | number | boolean> | undefined;
953
- allowDiscountCodes?: boolean | undefined;
954
- discountId?: string | undefined;
955
- redirect?: boolean | undefined;
956
- embedOrigin?: string | undefined;
957
- }, {
958
- products?: string | string[] | undefined;
959
- slug?: string | undefined;
960
- referenceId?: string | undefined;
961
- customFieldData?: Record<string, string | number | boolean> | undefined;
962
- metadata?: Record<string, string | number | boolean> | undefined;
963
- allowDiscountCodes?: boolean | undefined;
964
- discountId?: string | undefined;
965
- redirect?: boolean | undefined;
966
- embedOrigin?: string | undefined;
967
- }>;
968
- } & {
969
- use: any[];
970
- };
971
- path: "/checkout";
972
- };
973
- } | {
974
- meters: {
975
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
976
- body?: undefined;
977
- } & {
978
- method?: "GET" | undefined;
979
- } & {
980
- query: {
981
- page?: number | undefined;
982
- limit?: number | undefined;
983
- };
984
- } & {
985
- params?: Record<string, any>;
986
- } & {
987
- request?: Request;
988
- } & {
989
- headers?: HeadersInit;
990
- } & {
991
- asResponse?: boolean;
992
- returnHeaders?: boolean;
993
- use?: better_auth.Middleware[];
994
- path?: string;
995
- } & {
996
- asResponse?: AsResponse | undefined;
997
- returnHeaders?: ReturnHeaders | undefined;
998
- }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
999
- headers: Headers;
1000
- response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalcustomermeterslist_js.CustomerPortalCustomerMetersListResponse, {
1001
- page: number;
1002
- }>;
1003
- } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalcustomermeterslist_js.CustomerPortalCustomerMetersListResponse, {
1004
- page: number;
1005
- }>>;
1006
- options: {
1007
- method: "GET";
1008
- use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
1009
- session: {
1010
- session: Record<string, any> & {
1011
- id: string;
1012
- createdAt: Date;
1013
- updatedAt: Date;
1014
- userId: string;
1015
- expiresAt: Date;
1016
- token: string;
1017
- ipAddress?: string | null | undefined;
1018
- userAgent?: string | null | undefined;
1019
- };
1020
- user: Record<string, any> & {
1021
- id: string;
1022
- createdAt: Date;
1023
- updatedAt: Date;
1024
- email: string;
1025
- emailVerified: boolean;
1026
- name: string;
1027
- image?: string | null | undefined;
1028
- };
1029
- };
1030
- }>)[];
1031
- query: zod.ZodObject<{
1032
- page: zod.ZodOptional<zod.ZodNumber>;
1033
- limit: zod.ZodOptional<zod.ZodNumber>;
1034
- }, "strip", zod.ZodTypeAny, {
1035
- page?: number | undefined;
1036
- limit?: number | undefined;
1037
- }, {
1038
- page?: number | undefined;
1039
- limit?: number | undefined;
1040
- }>;
1041
- } & {
1042
- use: any[];
1043
- };
1044
- path: "/usage/meters/list";
1045
- };
1046
- ingestion: {
1047
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
1048
- body: {
1049
- metadata: Record<string, string | number | boolean>;
1050
- event: string;
1051
- };
1052
- } & {
1053
- method?: "POST" | undefined;
1054
- } & {
1055
- query?: Record<string, any> | undefined;
1056
- } & {
1057
- params?: Record<string, any>;
1058
- } & {
1059
- request?: Request;
1060
- } & {
1061
- headers?: HeadersInit;
1062
- } & {
1063
- asResponse?: boolean;
1064
- returnHeaders?: boolean;
1065
- use?: better_auth.Middleware[];
1066
- path?: string;
1067
- } & {
1068
- asResponse?: AsResponse | undefined;
1069
- returnHeaders?: ReturnHeaders | undefined;
1070
- }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
1071
- headers: Headers;
1072
- response: _polar_sh_sdk_models_components_eventsingestresponse_js.EventsIngestResponse;
1073
- } : _polar_sh_sdk_models_components_eventsingestresponse_js.EventsIngestResponse>;
1074
- options: {
1075
- method: "POST";
1076
- body: zod.ZodObject<{
1077
- event: zod.ZodString;
1078
- metadata: zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodString, zod.ZodNumber, zod.ZodBoolean]>>;
1079
- }, "strip", zod.ZodTypeAny, {
1080
- metadata: Record<string, string | number | boolean>;
1081
- event: string;
1082
- }, {
1083
- metadata: Record<string, string | number | boolean>;
1084
- event: string;
1085
- }>;
1086
- use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
1087
- session: {
1088
- session: Record<string, any> & {
1089
- id: string;
1090
- createdAt: Date;
1091
- updatedAt: Date;
1092
- userId: string;
1093
- expiresAt: Date;
1094
- token: string;
1095
- ipAddress?: string | null | undefined;
1096
- userAgent?: string | null | undefined;
1097
- };
1098
- user: Record<string, any> & {
1099
- id: string;
1100
- createdAt: Date;
1101
- updatedAt: Date;
1102
- email: string;
1103
- emailVerified: boolean;
1104
- name: string;
1105
- image?: string | null | undefined;
1106
- };
1107
- };
1108
- }>)[];
1109
- } & {
1110
- use: any[];
1111
- };
1112
- path: "/usage/ingest";
1113
- };
1114
- } | {
1115
- portal: {
1116
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
1117
- body?: undefined;
1118
- } & {
1119
- method?: "GET" | undefined;
1120
- } & {
1121
- query?: Record<string, any> | undefined;
1122
- } & {
1123
- params?: Record<string, any>;
1124
- } & {
1125
- request?: Request;
1126
- } & {
1127
- headers?: HeadersInit;
1128
- } & {
1129
- asResponse?: boolean;
1130
- returnHeaders?: boolean;
1131
- use?: better_auth.Middleware[];
1132
- path?: string;
1133
- } & {
1134
- asResponse?: AsResponse | undefined;
1135
- returnHeaders?: ReturnHeaders | undefined;
1136
- }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
1137
- headers: Headers;
1138
- response: {
1139
- url: string;
1140
- redirect: boolean;
1141
- };
1142
- } : {
1143
- url: string;
1144
- redirect: boolean;
1145
- }>;
1146
- options: {
1147
- method: "GET";
1148
- use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
1149
- session: {
1150
- session: Record<string, any> & {
1151
- id: string;
1152
- createdAt: Date;
1153
- updatedAt: Date;
1154
- userId: string;
1155
- expiresAt: Date;
1156
- token: string;
1157
- ipAddress?: string | null | undefined;
1158
- userAgent?: string | null | undefined;
1159
- };
1160
- user: Record<string, any> & {
1161
- id: string;
1162
- createdAt: Date;
1163
- updatedAt: Date;
1164
- email: string;
1165
- emailVerified: boolean;
1166
- name: string;
1167
- image?: string | null | undefined;
1168
- };
1169
- };
1170
- }>)[];
1171
- } & {
1172
- use: any[];
1173
- };
1174
- path: "/customer/portal";
1175
- };
1176
- state: {
1177
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
1178
- body?: undefined;
1179
- } & {
1180
- method?: "GET" | undefined;
1181
- } & {
1182
- query?: Record<string, any> | undefined;
1183
- } & {
1184
- params?: Record<string, any>;
1185
- } & {
1186
- request?: Request;
1187
- } & {
1188
- headers?: HeadersInit;
1189
- } & {
1190
- asResponse?: boolean;
1191
- returnHeaders?: boolean;
1192
- use?: better_auth.Middleware[];
1193
- path?: string;
1194
- } & {
1195
- asResponse?: AsResponse | undefined;
1196
- returnHeaders?: ReturnHeaders | undefined;
1197
- }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
1198
- headers: Headers;
1199
- response: _polar_sh_sdk_models_components_customerstate_js.CustomerState;
1200
- } : _polar_sh_sdk_models_components_customerstate_js.CustomerState>;
1201
- options: {
1202
- method: "GET";
1203
- use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
1204
- session: {
1205
- session: Record<string, any> & {
1206
- id: string;
1207
- createdAt: Date;
1208
- updatedAt: Date;
1209
- userId: string;
1210
- expiresAt: Date;
1211
- token: string;
1212
- ipAddress?: string | null | undefined;
1213
- userAgent?: string | null | undefined;
1214
- };
1215
- user: Record<string, any> & {
1216
- id: string;
1217
- createdAt: Date;
1218
- updatedAt: Date;
1219
- email: string;
1220
- emailVerified: boolean;
1221
- name: string;
1222
- image?: string | null | undefined;
1223
- };
1224
- };
1225
- }>)[];
1226
- } & {
1227
- use: any[];
1228
- };
1229
- path: "/customer/state";
1230
- };
1231
- benefits: {
1232
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
1233
- body?: undefined;
1234
- } & {
1235
- method?: "GET" | undefined;
1236
- } & {
1237
- query?: {
1238
- page?: number | undefined;
1239
- limit?: number | undefined;
1240
- } | undefined;
1241
- } & {
1242
- params?: Record<string, any>;
1243
- } & {
1244
- request?: Request;
1245
- } & {
1246
- headers?: HeadersInit;
1247
- } & {
1248
- asResponse?: boolean;
1249
- returnHeaders?: boolean;
1250
- use?: better_auth.Middleware[];
1251
- path?: string;
1252
- } & {
1253
- asResponse?: AsResponse | undefined;
1254
- returnHeaders?: ReturnHeaders | undefined;
1255
- }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
1256
- headers: Headers;
1257
- response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js.CustomerPortalBenefitGrantsListResponse, {
1258
- page: number;
1259
- }>;
1260
- } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js.CustomerPortalBenefitGrantsListResponse, {
1261
- page: number;
1262
- }>>;
1263
- options: {
1264
- method: "GET";
1265
- query: zod.ZodOptional<zod.ZodObject<{
1266
- page: zod.ZodOptional<zod.ZodNumber>;
1267
- limit: zod.ZodOptional<zod.ZodNumber>;
1268
- }, "strip", zod.ZodTypeAny, {
1269
- page?: number | undefined;
1270
- limit?: number | undefined;
1271
- }, {
1272
- page?: number | undefined;
1273
- limit?: number | undefined;
1274
- }>>;
1275
- use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
1276
- session: {
1277
- session: Record<string, any> & {
1278
- id: string;
1279
- createdAt: Date;
1280
- updatedAt: Date;
1281
- userId: string;
1282
- expiresAt: Date;
1283
- token: string;
1284
- ipAddress?: string | null | undefined;
1285
- userAgent?: string | null | undefined;
1286
- };
1287
- user: Record<string, any> & {
1288
- id: string;
1289
- createdAt: Date;
1290
- updatedAt: Date;
1291
- email: string;
1292
- emailVerified: boolean;
1293
- name: string;
1294
- image?: string | null | undefined;
1295
- };
1296
- };
1297
- }>)[];
1298
- } & {
1299
- use: any[];
1300
- };
1301
- path: "/customer/benefits/list";
1302
- };
1303
- subscriptions: {
1304
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
1305
- body?: undefined;
1306
- } & {
1307
- method?: "GET" | undefined;
1308
- } & {
1309
- query?: {
1310
- referenceId?: string | undefined;
1311
- page?: number | undefined;
1312
- limit?: number | undefined;
1313
- active?: boolean | undefined;
1314
- } | undefined;
1315
- } & {
1316
- params?: Record<string, any>;
1317
- } & {
1318
- request?: Request;
1319
- } & {
1320
- headers?: HeadersInit;
1321
- } & {
1322
- asResponse?: boolean;
1323
- returnHeaders?: boolean;
1324
- use?: better_auth.Middleware[];
1325
- path?: string;
1326
- } & {
1327
- asResponse?: AsResponse | undefined;
1328
- returnHeaders?: ReturnHeaders | undefined;
1329
- }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
1330
- headers: Headers;
1331
- response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_subscriptionslist_js.SubscriptionsListResponse, {
1332
- page: number;
1333
- }> | _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalsubscriptionslist_js.CustomerPortalSubscriptionsListResponse, {
1334
- page: number;
1335
- }>;
1336
- } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_subscriptionslist_js.SubscriptionsListResponse, {
1337
- page: number;
1338
- }> | _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalsubscriptionslist_js.CustomerPortalSubscriptionsListResponse, {
1339
- page: number;
1340
- }>>;
1341
- options: {
1342
- method: "GET";
1343
- query: zod.ZodOptional<zod.ZodObject<{
1344
- referenceId: zod.ZodOptional<zod.ZodString>;
1345
- page: zod.ZodOptional<zod.ZodNumber>;
1346
- limit: zod.ZodOptional<zod.ZodNumber>;
1347
- active: zod.ZodOptional<zod.ZodBoolean>;
1348
- }, "strip", zod.ZodTypeAny, {
1349
- referenceId?: string | undefined;
1350
- page?: number | undefined;
1351
- limit?: number | undefined;
1352
- active?: boolean | undefined;
1353
- }, {
1354
- referenceId?: string | undefined;
1355
- page?: number | undefined;
1356
- limit?: number | undefined;
1357
- active?: boolean | undefined;
1358
- }>>;
1359
- use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
1360
- session: {
1361
- session: Record<string, any> & {
1362
- id: string;
1363
- createdAt: Date;
1364
- updatedAt: Date;
1365
- userId: string;
1366
- expiresAt: Date;
1367
- token: string;
1368
- ipAddress?: string | null | undefined;
1369
- userAgent?: string | null | undefined;
1370
- };
1371
- user: Record<string, any> & {
1372
- id: string;
1373
- createdAt: Date;
1374
- updatedAt: Date;
1375
- email: string;
1376
- emailVerified: boolean;
1377
- name: string;
1378
- image?: string | null | undefined;
1379
- };
1380
- };
1381
- }>)[];
1382
- } & {
1383
- use: any[];
1384
- };
1385
- path: "/customer/subscriptions/list";
1386
- };
1387
- orders: {
1388
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
1389
- body?: undefined;
1390
- } & {
1391
- method?: "GET" | undefined;
1392
- } & {
1393
- query?: {
1394
- page?: number | undefined;
1395
- limit?: number | undefined;
1396
- productBillingType?: "recurring" | "one_time" | undefined;
1397
- } | undefined;
1398
- } & {
1399
- params?: Record<string, any>;
1400
- } & {
1401
- request?: Request;
1402
- } & {
1403
- headers?: HeadersInit;
1404
- } & {
1405
- asResponse?: boolean;
1406
- returnHeaders?: boolean;
1407
- use?: better_auth.Middleware[];
1408
- path?: string;
1409
- } & {
1410
- asResponse?: AsResponse | undefined;
1411
- returnHeaders?: ReturnHeaders | undefined;
1412
- }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
1413
- headers: Headers;
1414
- response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalorderslist_js.CustomerPortalOrdersListResponse, {
1415
- page: number;
1416
- }>;
1417
- } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalorderslist_js.CustomerPortalOrdersListResponse, {
1418
- page: number;
1419
- }>>;
1420
- options: {
1421
- method: "GET";
1422
- query: zod.ZodOptional<zod.ZodObject<{
1423
- page: zod.ZodOptional<zod.ZodNumber>;
1424
- limit: zod.ZodOptional<zod.ZodNumber>;
1425
- productBillingType: zod.ZodOptional<zod.ZodEnum<["recurring", "one_time"]>>;
1426
- }, "strip", zod.ZodTypeAny, {
1427
- page?: number | undefined;
1428
- limit?: number | undefined;
1429
- productBillingType?: "recurring" | "one_time" | undefined;
1430
- }, {
1431
- page?: number | undefined;
1432
- limit?: number | undefined;
1433
- productBillingType?: "recurring" | "one_time" | undefined;
1434
- }>>;
1435
- use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
1436
- session: {
1437
- session: Record<string, any> & {
1438
- id: string;
1439
- createdAt: Date;
1440
- updatedAt: Date;
1441
- userId: string;
1442
- expiresAt: Date;
1443
- token: string;
1444
- ipAddress?: string | null | undefined;
1445
- userAgent?: string | null | undefined;
1446
- };
1447
- user: Record<string, any> & {
1448
- id: string;
1449
- createdAt: Date;
1450
- updatedAt: Date;
1451
- email: string;
1452
- emailVerified: boolean;
1453
- name: string;
1454
- image?: string | null | undefined;
1455
- };
1456
- };
1457
- }>)[];
1458
- } & {
1459
- use: any[];
1460
- };
1461
- path: "/customer/orders/list";
1462
- };
1463
- } | {
1464
- polarWebhooks: {
1465
- <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
1466
- body?: undefined;
1467
- } & {
1468
- method?: "POST" | undefined;
1469
- } & {
1470
- query?: Record<string, any> | undefined;
1471
- } & {
1472
- params?: Record<string, any>;
1473
- } & {
1474
- request?: Request;
1475
- } & {
1476
- headers?: HeadersInit;
1477
- } & {
1478
- asResponse?: boolean;
1479
- returnHeaders?: boolean;
1480
- use?: better_auth.Middleware[];
1481
- path?: string;
1482
- } & {
1483
- asResponse?: AsResponse | undefined;
1484
- returnHeaders?: ReturnHeaders | undefined;
1485
- }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
1486
- headers: Headers;
1487
- response: {
1488
- received: boolean;
1489
- };
1490
- } : {
1491
- received: boolean;
1492
- }>;
1493
- options: {
1494
- method: "POST";
1495
- metadata: {
1496
- isAction: boolean;
1497
- };
1498
- cloneRequest: true;
1499
- } & {
1500
- use: any[];
1501
- };
1502
- path: "/polar/webhooks";
1503
- };
915
+ }, {
916
+ received: boolean;
917
+ }>;
1504
918
  };
1505
919
  init(): {
1506
920
  options: {
1507
921
  databaseHooks: {
1508
922
  user: {
1509
923
  create: {
1510
- before: (user: Partial<better_auth.User>, context?: better_auth.GenericEndpointContext | undefined) => Promise<void>;
1511
- after: (user: better_auth.User, context?: better_auth.GenericEndpointContext | undefined) => Promise<void>;
924
+ before: (user: Partial<better_auth.User>, context: better_auth.GenericEndpointContext | null) => Promise<void>;
925
+ after: (user: better_auth.User, context: better_auth.GenericEndpointContext | null) => Promise<void>;
1512
926
  };
1513
927
  update: {
1514
- after: (user: better_auth.User, context?: better_auth.GenericEndpointContext | undefined) => Promise<void>;
928
+ after: (user: better_auth.User, context: better_auth.GenericEndpointContext | null) => Promise<void>;
1515
929
  };
1516
930
  delete: {
1517
- after: (user: better_auth.User, context?: better_auth.GenericEndpointContext | undefined) => Promise<void>;
931
+ after: (user: better_auth.User, context: better_auth.GenericEndpointContext | null) => Promise<void>;
1518
932
  };
1519
933
  };
1520
934
  };
@@ -1522,4 +936,12 @@ declare const polar: <O extends PolarOptions>(options: O) => {
1522
936
  };
1523
937
  };
1524
938
 
939
+ declare const polarClient: () => {
940
+ id: "polar-client";
941
+ $InferServerPlugin: ReturnType<typeof polar>;
942
+ getActions: ($fetch: better_auth_client.BetterFetch) => {
943
+ checkoutEmbed: (data: Omit<CheckoutParams, "redirect" | "embedOrigin">, fetchOptions?: BetterFetchOption) => Promise<PolarEmbedCheckout>;
944
+ };
945
+ };
946
+
1525
947
  export { type CheckoutOptions, CheckoutParams, type PortalConfig, type UsageOptions, type WebhooksOptions, checkout, polar, polarClient, portal, usage, webhooks };