@polar-sh/better-auth 0.1.2 → 1.0.1

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,7 +1,15 @@
1
+ import * as _polar_sh_sdk_models_operations_customerportalorderslist_js from '@polar-sh/sdk/models/operations/customerportalorderslist.js';
2
+ import * as _polar_sh_sdk_models_operations_customerportalsubscriptionslist_js from '@polar-sh/sdk/models/operations/customerportalsubscriptionslist.js';
3
+ import * as _polar_sh_sdk_models_operations_subscriptionslist_js from '@polar-sh/sdk/models/operations/subscriptionslist.js';
4
+ import * as _polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js from '@polar-sh/sdk/models/operations/customerportalbenefitgrantslist.js';
1
5
  import * as _polar_sh_sdk_models_components_customerstate_js from '@polar-sh/sdk/models/components/customerstate.js';
6
+ import * as _polar_sh_sdk_models_components_eventsingestresponse_js from '@polar-sh/sdk/models/components/eventsingestresponse.js';
7
+ import * as _polar_sh_sdk_types_operations_js from '@polar-sh/sdk/types/operations.js';
8
+ import * as _polar_sh_sdk_models_operations_customerportalcustomermeterslist_js from '@polar-sh/sdk/models/operations/customerportalcustomermeterslist.js';
2
9
  import * as zod from 'zod';
10
+ import { z } from 'zod';
3
11
  import * as better_auth from 'better-auth';
4
- import { User, Session } from 'better-auth';
12
+ import { User } from 'better-auth';
5
13
  import { Polar } from '@polar-sh/sdk';
6
14
  import { WebhookBenefitCreatedPayload } from '@polar-sh/sdk/models/components/webhookbenefitcreatedpayload.js';
7
15
  import { WebhookBenefitGrantCreatedPayload } from '@polar-sh/sdk/models/components/webhookbenefitgrantcreatedpayload.js';
@@ -30,6 +38,739 @@ import { WebhookSubscriptionUncanceledPayload } from '@polar-sh/sdk/models/compo
30
38
  import { WebhookSubscriptionUpdatedPayload } from '@polar-sh/sdk/models/components/webhooksubscriptionupdatedpayload.js';
31
39
  import { validateEvent } from '@polar-sh/sdk/webhooks.js';
32
40
 
41
+ interface CheckoutOptions {
42
+ /**
43
+ * Optional list of slug -> productId mappings for easy slug checkouts
44
+ */
45
+ products?: Product[] | (() => Promise<Product[]>);
46
+ /**
47
+ * Checkout Success URL
48
+ */
49
+ successUrl?: string;
50
+ /**
51
+ * Only allow authenticated customers to checkout
52
+ */
53
+ authenticatedUsersOnly?: boolean;
54
+ }
55
+ declare const checkout: (checkoutOptions?: CheckoutOptions) => (polar: Polar) => {
56
+ checkout: {
57
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
58
+ body: {
59
+ products?: string | string[] | undefined;
60
+ slug?: string | undefined;
61
+ referenceId?: string | undefined;
62
+ customFieldData?: Record<string, string | number | boolean> | undefined;
63
+ metadata?: Record<string, string | number | boolean> | undefined;
64
+ };
65
+ } & {
66
+ method?: "POST" | undefined;
67
+ } & {
68
+ query?: Record<string, any> | undefined;
69
+ } & {
70
+ params?: Record<string, any>;
71
+ } & {
72
+ request?: Request;
73
+ } & {
74
+ headers?: HeadersInit;
75
+ } & {
76
+ asResponse?: boolean;
77
+ returnHeaders?: boolean;
78
+ use?: better_auth.Middleware[];
79
+ path?: string;
80
+ } & {
81
+ asResponse?: AsResponse | undefined;
82
+ returnHeaders?: ReturnHeaders | undefined;
83
+ }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
84
+ headers: Headers;
85
+ response: {
86
+ url: string;
87
+ redirect: boolean;
88
+ };
89
+ } : {
90
+ url: string;
91
+ redirect: boolean;
92
+ }>;
93
+ options: {
94
+ method: "POST";
95
+ body: z.ZodObject<{
96
+ products: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
97
+ slug: z.ZodOptional<z.ZodString>;
98
+ referenceId: z.ZodOptional<z.ZodString>;
99
+ customFieldData: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
100
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
101
+ }, "strip", z.ZodTypeAny, {
102
+ products?: string | string[] | undefined;
103
+ slug?: string | undefined;
104
+ referenceId?: string | undefined;
105
+ customFieldData?: Record<string, string | number | boolean> | undefined;
106
+ metadata?: Record<string, string | number | boolean> | undefined;
107
+ }, {
108
+ products?: string | string[] | undefined;
109
+ slug?: string | undefined;
110
+ referenceId?: string | undefined;
111
+ customFieldData?: Record<string, string | number | boolean> | undefined;
112
+ metadata?: Record<string, string | number | boolean> | undefined;
113
+ }>;
114
+ } & {
115
+ use: any[];
116
+ };
117
+ path: "/checkout";
118
+ };
119
+ };
120
+
121
+ declare const portal: () => (polar: Polar) => {
122
+ portal: {
123
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
124
+ body?: undefined;
125
+ } & {
126
+ method?: "GET" | undefined;
127
+ } & {
128
+ query?: Record<string, any> | undefined;
129
+ } & {
130
+ params?: Record<string, any>;
131
+ } & {
132
+ request?: Request;
133
+ } & {
134
+ headers?: HeadersInit;
135
+ } & {
136
+ asResponse?: boolean;
137
+ returnHeaders?: boolean;
138
+ use?: better_auth.Middleware[];
139
+ path?: string;
140
+ } & {
141
+ asResponse?: AsResponse | undefined;
142
+ returnHeaders?: ReturnHeaders | undefined;
143
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
144
+ headers: Headers;
145
+ response: {
146
+ url: string;
147
+ redirect: boolean;
148
+ };
149
+ } : {
150
+ url: string;
151
+ redirect: boolean;
152
+ }>;
153
+ options: {
154
+ method: "GET";
155
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
156
+ session: {
157
+ session: Record<string, any> & {
158
+ id: string;
159
+ createdAt: Date;
160
+ updatedAt: Date;
161
+ userId: string;
162
+ expiresAt: Date;
163
+ token: string;
164
+ ipAddress?: string | null | undefined;
165
+ userAgent?: string | null | undefined;
166
+ };
167
+ user: Record<string, any> & {
168
+ id: string;
169
+ name: string;
170
+ email: string;
171
+ emailVerified: boolean;
172
+ createdAt: Date;
173
+ updatedAt: Date;
174
+ image?: string | null | undefined;
175
+ };
176
+ };
177
+ }>)[];
178
+ } & {
179
+ use: any[];
180
+ };
181
+ path: "/customer/portal";
182
+ };
183
+ state: {
184
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
185
+ body?: undefined;
186
+ } & {
187
+ method?: "GET" | undefined;
188
+ } & {
189
+ query?: Record<string, any> | undefined;
190
+ } & {
191
+ params?: Record<string, any>;
192
+ } & {
193
+ request?: Request;
194
+ } & {
195
+ headers?: HeadersInit;
196
+ } & {
197
+ asResponse?: boolean;
198
+ returnHeaders?: boolean;
199
+ use?: better_auth.Middleware[];
200
+ path?: string;
201
+ } & {
202
+ asResponse?: AsResponse | undefined;
203
+ returnHeaders?: ReturnHeaders | undefined;
204
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
205
+ headers: Headers;
206
+ response: _polar_sh_sdk_models_components_customerstate_js.CustomerState;
207
+ } : _polar_sh_sdk_models_components_customerstate_js.CustomerState>;
208
+ options: {
209
+ method: "GET";
210
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
211
+ session: {
212
+ session: Record<string, any> & {
213
+ id: string;
214
+ createdAt: Date;
215
+ updatedAt: Date;
216
+ userId: string;
217
+ expiresAt: Date;
218
+ token: string;
219
+ ipAddress?: string | null | undefined;
220
+ userAgent?: string | null | undefined;
221
+ };
222
+ user: Record<string, any> & {
223
+ id: string;
224
+ name: string;
225
+ email: string;
226
+ emailVerified: boolean;
227
+ createdAt: Date;
228
+ updatedAt: Date;
229
+ image?: string | null | undefined;
230
+ };
231
+ };
232
+ }>)[];
233
+ } & {
234
+ use: any[];
235
+ };
236
+ path: "/customer/state";
237
+ };
238
+ benefits: {
239
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
240
+ body?: undefined;
241
+ } & {
242
+ method?: "GET" | undefined;
243
+ } & {
244
+ query?: {
245
+ page?: number | undefined;
246
+ limit?: number | undefined;
247
+ } | undefined;
248
+ } & {
249
+ params?: Record<string, any>;
250
+ } & {
251
+ request?: Request;
252
+ } & {
253
+ headers?: HeadersInit;
254
+ } & {
255
+ asResponse?: boolean;
256
+ returnHeaders?: boolean;
257
+ use?: better_auth.Middleware[];
258
+ path?: string;
259
+ } & {
260
+ asResponse?: AsResponse | undefined;
261
+ returnHeaders?: ReturnHeaders | undefined;
262
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
263
+ headers: Headers;
264
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js.CustomerPortalBenefitGrantsListResponse, {
265
+ page: number;
266
+ }>;
267
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js.CustomerPortalBenefitGrantsListResponse, {
268
+ page: number;
269
+ }>>;
270
+ options: {
271
+ method: "GET";
272
+ query: z.ZodOptional<z.ZodObject<{
273
+ page: z.ZodOptional<z.ZodNumber>;
274
+ limit: z.ZodOptional<z.ZodNumber>;
275
+ }, "strip", z.ZodTypeAny, {
276
+ page?: number | undefined;
277
+ limit?: number | undefined;
278
+ }, {
279
+ page?: number | undefined;
280
+ limit?: number | undefined;
281
+ }>>;
282
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
283
+ session: {
284
+ session: Record<string, any> & {
285
+ id: string;
286
+ createdAt: Date;
287
+ updatedAt: Date;
288
+ userId: string;
289
+ expiresAt: Date;
290
+ token: string;
291
+ ipAddress?: string | null | undefined;
292
+ userAgent?: string | null | undefined;
293
+ };
294
+ user: Record<string, any> & {
295
+ id: string;
296
+ name: string;
297
+ email: string;
298
+ emailVerified: boolean;
299
+ createdAt: Date;
300
+ updatedAt: Date;
301
+ image?: string | null | undefined;
302
+ };
303
+ };
304
+ }>)[];
305
+ } & {
306
+ use: any[];
307
+ };
308
+ path: "/customer/benefits/list";
309
+ };
310
+ subscriptions: {
311
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
312
+ body?: undefined;
313
+ } & {
314
+ method?: "GET" | undefined;
315
+ } & {
316
+ query?: {
317
+ referenceId?: string | undefined;
318
+ page?: number | undefined;
319
+ limit?: number | undefined;
320
+ active?: boolean | undefined;
321
+ } | undefined;
322
+ } & {
323
+ params?: Record<string, any>;
324
+ } & {
325
+ request?: Request;
326
+ } & {
327
+ headers?: HeadersInit;
328
+ } & {
329
+ asResponse?: boolean;
330
+ returnHeaders?: boolean;
331
+ use?: better_auth.Middleware[];
332
+ path?: string;
333
+ } & {
334
+ asResponse?: AsResponse | undefined;
335
+ returnHeaders?: ReturnHeaders | undefined;
336
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
337
+ headers: Headers;
338
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_subscriptionslist_js.SubscriptionsListResponse, {
339
+ page: number;
340
+ }> | _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalsubscriptionslist_js.CustomerPortalSubscriptionsListResponse, {
341
+ page: number;
342
+ }>;
343
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_subscriptionslist_js.SubscriptionsListResponse, {
344
+ page: number;
345
+ }> | _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalsubscriptionslist_js.CustomerPortalSubscriptionsListResponse, {
346
+ page: number;
347
+ }>>;
348
+ options: {
349
+ method: "GET";
350
+ query: z.ZodOptional<z.ZodObject<{
351
+ referenceId: z.ZodOptional<z.ZodString>;
352
+ page: z.ZodOptional<z.ZodNumber>;
353
+ limit: z.ZodOptional<z.ZodNumber>;
354
+ active: z.ZodOptional<z.ZodBoolean>;
355
+ }, "strip", z.ZodTypeAny, {
356
+ referenceId?: string | undefined;
357
+ page?: number | undefined;
358
+ limit?: number | undefined;
359
+ active?: boolean | undefined;
360
+ }, {
361
+ referenceId?: string | undefined;
362
+ page?: number | undefined;
363
+ limit?: number | undefined;
364
+ active?: boolean | undefined;
365
+ }>>;
366
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
367
+ session: {
368
+ session: Record<string, any> & {
369
+ id: string;
370
+ createdAt: Date;
371
+ updatedAt: Date;
372
+ userId: string;
373
+ expiresAt: Date;
374
+ token: string;
375
+ ipAddress?: string | null | undefined;
376
+ userAgent?: string | null | undefined;
377
+ };
378
+ user: Record<string, any> & {
379
+ id: string;
380
+ name: string;
381
+ email: string;
382
+ emailVerified: boolean;
383
+ createdAt: Date;
384
+ updatedAt: Date;
385
+ image?: string | null | undefined;
386
+ };
387
+ };
388
+ }>)[];
389
+ } & {
390
+ use: any[];
391
+ };
392
+ path: "/customer/subscriptions/list";
393
+ };
394
+ orders: {
395
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
396
+ body?: undefined;
397
+ } & {
398
+ method?: "GET" | undefined;
399
+ } & {
400
+ query?: {
401
+ page?: number | undefined;
402
+ limit?: number | undefined;
403
+ productBillingType?: "recurring" | "one_time" | undefined;
404
+ } | undefined;
405
+ } & {
406
+ params?: Record<string, any>;
407
+ } & {
408
+ request?: Request;
409
+ } & {
410
+ headers?: HeadersInit;
411
+ } & {
412
+ asResponse?: boolean;
413
+ returnHeaders?: boolean;
414
+ use?: better_auth.Middleware[];
415
+ path?: string;
416
+ } & {
417
+ asResponse?: AsResponse | undefined;
418
+ returnHeaders?: ReturnHeaders | undefined;
419
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
420
+ headers: Headers;
421
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalorderslist_js.CustomerPortalOrdersListResponse, {
422
+ page: number;
423
+ }>;
424
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalorderslist_js.CustomerPortalOrdersListResponse, {
425
+ page: number;
426
+ }>>;
427
+ options: {
428
+ method: "GET";
429
+ query: z.ZodOptional<z.ZodObject<{
430
+ page: z.ZodOptional<z.ZodNumber>;
431
+ limit: z.ZodOptional<z.ZodNumber>;
432
+ productBillingType: z.ZodOptional<z.ZodEnum<["recurring", "one_time"]>>;
433
+ }, "strip", z.ZodTypeAny, {
434
+ page?: number | undefined;
435
+ limit?: number | undefined;
436
+ productBillingType?: "recurring" | "one_time" | undefined;
437
+ }, {
438
+ page?: number | undefined;
439
+ limit?: number | undefined;
440
+ productBillingType?: "recurring" | "one_time" | undefined;
441
+ }>>;
442
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
443
+ session: {
444
+ session: Record<string, any> & {
445
+ id: string;
446
+ createdAt: Date;
447
+ updatedAt: Date;
448
+ userId: string;
449
+ expiresAt: Date;
450
+ token: string;
451
+ ipAddress?: string | null | undefined;
452
+ userAgent?: string | null | undefined;
453
+ };
454
+ user: Record<string, any> & {
455
+ id: string;
456
+ name: string;
457
+ email: string;
458
+ emailVerified: boolean;
459
+ createdAt: Date;
460
+ updatedAt: Date;
461
+ image?: string | null | undefined;
462
+ };
463
+ };
464
+ }>)[];
465
+ } & {
466
+ use: any[];
467
+ };
468
+ path: "/customer/orders/list";
469
+ };
470
+ };
471
+
472
+ interface UsageOptions {
473
+ /**
474
+ * Products to use for topping up credits
475
+ */
476
+ creditProducts?: Product[] | (() => Promise<Product[]>);
477
+ }
478
+ declare const usage: (_usageOptions?: UsageOptions) => (polar: Polar) => {
479
+ meters: {
480
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
481
+ body?: undefined;
482
+ } & {
483
+ method?: "GET" | undefined;
484
+ } & {
485
+ query: {
486
+ page?: number | undefined;
487
+ limit?: number | undefined;
488
+ };
489
+ } & {
490
+ params?: Record<string, any>;
491
+ } & {
492
+ request?: Request;
493
+ } & {
494
+ headers?: HeadersInit;
495
+ } & {
496
+ asResponse?: boolean;
497
+ returnHeaders?: boolean;
498
+ use?: better_auth.Middleware[];
499
+ path?: string;
500
+ } & {
501
+ asResponse?: AsResponse | undefined;
502
+ returnHeaders?: ReturnHeaders | undefined;
503
+ }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
504
+ headers: Headers;
505
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalcustomermeterslist_js.CustomerPortalCustomerMetersListResponse, {
506
+ page: number;
507
+ }>;
508
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalcustomermeterslist_js.CustomerPortalCustomerMetersListResponse, {
509
+ page: number;
510
+ }>>;
511
+ options: {
512
+ method: "GET";
513
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
514
+ session: {
515
+ session: Record<string, any> & {
516
+ id: string;
517
+ createdAt: Date;
518
+ updatedAt: Date;
519
+ userId: string;
520
+ expiresAt: Date;
521
+ token: string;
522
+ ipAddress?: string | null | undefined;
523
+ userAgent?: string | null | undefined;
524
+ };
525
+ user: Record<string, any> & {
526
+ id: string;
527
+ name: string;
528
+ email: string;
529
+ emailVerified: boolean;
530
+ createdAt: Date;
531
+ updatedAt: Date;
532
+ image?: string | null | undefined;
533
+ };
534
+ };
535
+ }>)[];
536
+ query: z.ZodObject<{
537
+ page: z.ZodOptional<z.ZodNumber>;
538
+ limit: z.ZodOptional<z.ZodNumber>;
539
+ }, "strip", z.ZodTypeAny, {
540
+ page?: number | undefined;
541
+ limit?: number | undefined;
542
+ }, {
543
+ page?: number | undefined;
544
+ limit?: number | undefined;
545
+ }>;
546
+ } & {
547
+ use: any[];
548
+ };
549
+ path: "/usage/meters/list";
550
+ };
551
+ ingestion: {
552
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
553
+ body: {
554
+ metadata: Record<string, string | number | boolean>;
555
+ event: string;
556
+ };
557
+ } & {
558
+ method?: "POST" | undefined;
559
+ } & {
560
+ query?: Record<string, any> | undefined;
561
+ } & {
562
+ params?: Record<string, any>;
563
+ } & {
564
+ request?: Request;
565
+ } & {
566
+ headers?: HeadersInit;
567
+ } & {
568
+ asResponse?: boolean;
569
+ returnHeaders?: boolean;
570
+ use?: better_auth.Middleware[];
571
+ path?: string;
572
+ } & {
573
+ asResponse?: AsResponse | undefined;
574
+ returnHeaders?: ReturnHeaders | undefined;
575
+ }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
576
+ headers: Headers;
577
+ response: _polar_sh_sdk_models_components_eventsingestresponse_js.EventsIngestResponse;
578
+ } : _polar_sh_sdk_models_components_eventsingestresponse_js.EventsIngestResponse>;
579
+ options: {
580
+ method: "POST";
581
+ body: z.ZodObject<{
582
+ event: z.ZodString;
583
+ metadata: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
584
+ }, "strip", z.ZodTypeAny, {
585
+ metadata: Record<string, string | number | boolean>;
586
+ event: string;
587
+ }, {
588
+ metadata: Record<string, string | number | boolean>;
589
+ event: string;
590
+ }>;
591
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
592
+ session: {
593
+ session: Record<string, any> & {
594
+ id: string;
595
+ createdAt: Date;
596
+ updatedAt: Date;
597
+ userId: string;
598
+ expiresAt: Date;
599
+ token: string;
600
+ ipAddress?: string | null | undefined;
601
+ userAgent?: string | null | undefined;
602
+ };
603
+ user: Record<string, any> & {
604
+ id: string;
605
+ name: string;
606
+ email: string;
607
+ emailVerified: boolean;
608
+ createdAt: Date;
609
+ updatedAt: Date;
610
+ image?: string | null | undefined;
611
+ };
612
+ };
613
+ }>)[];
614
+ } & {
615
+ use: any[];
616
+ };
617
+ path: "/usage/ingest";
618
+ };
619
+ };
620
+
621
+ interface WebhooksOptions {
622
+ /**
623
+ * Webhook Secret
624
+ */
625
+ secret: string;
626
+ /**
627
+ * Generic handler for all webhooks
628
+ */
629
+ onPayload?: (payload: ReturnType<typeof validateEvent>) => Promise<void>;
630
+ /**
631
+ * Webhook for checkout created
632
+ */
633
+ onCheckoutCreated?: (payload: WebhookCheckoutCreatedPayload) => Promise<void>;
634
+ /**
635
+ * Webhook for checkout updated
636
+ */
637
+ onCheckoutUpdated?: (payload: WebhookCheckoutUpdatedPayload) => Promise<void>;
638
+ /**
639
+ * Webhook for order created
640
+ */
641
+ onOrderCreated?: (payload: WebhookOrderCreatedPayload) => Promise<void>;
642
+ /**
643
+ * Webhook for order refunded
644
+ */
645
+ onOrderRefunded?: (payload: WebhookOrderRefundedPayload) => Promise<void>;
646
+ /**
647
+ * Webhook for order paid
648
+ */
649
+ onOrderPaid?: (payload: WebhookOrderPaidPayload) => Promise<void>;
650
+ /**
651
+ * Webhook for refund created
652
+ */
653
+ onRefundCreated?: (payload: WebhookRefundCreatedPayload) => Promise<void>;
654
+ /**
655
+ * Webhook for refund updated
656
+ */
657
+ onRefundUpdated?: (payload: WebhookRefundUpdatedPayload) => Promise<void>;
658
+ /**
659
+ * Webhook for subscription created
660
+ */
661
+ onSubscriptionCreated?: (payload: WebhookSubscriptionCreatedPayload) => Promise<void>;
662
+ /**
663
+ * Webhook for subscription updated
664
+ */
665
+ onSubscriptionUpdated?: (payload: WebhookSubscriptionUpdatedPayload) => Promise<void>;
666
+ /**
667
+ * Webhook for subscription active
668
+ */
669
+ onSubscriptionActive?: (payload: WebhookSubscriptionActivePayload) => Promise<void>;
670
+ /**
671
+ * Webhook for subscription canceled
672
+ */
673
+ onSubscriptionCanceled?: (payload: WebhookSubscriptionCanceledPayload) => Promise<void>;
674
+ /**
675
+ * Webhook for subscription revoked
676
+ */
677
+ onSubscriptionRevoked?: (payload: WebhookSubscriptionRevokedPayload) => Promise<void>;
678
+ /**
679
+ * Webhook for subscription uncanceled
680
+ */
681
+ onSubscriptionUncanceled?: (payload: WebhookSubscriptionUncanceledPayload) => Promise<void>;
682
+ /**
683
+ * Webhook for product created
684
+ */
685
+ onProductCreated?: (payload: WebhookProductCreatedPayload) => Promise<void>;
686
+ /**
687
+ * Webhook for product updated
688
+ */
689
+ onProductUpdated?: (payload: WebhookProductUpdatedPayload) => Promise<void>;
690
+ /**
691
+ * Webhook for organization updated
692
+ */
693
+ onOrganizationUpdated?: (payload: WebhookOrganizationUpdatedPayload) => Promise<void>;
694
+ /**
695
+ * Webhook for benefit created
696
+ */
697
+ onBenefitCreated?: (payload: WebhookBenefitCreatedPayload) => Promise<void>;
698
+ /**
699
+ * Webhook for benefit updated
700
+ */
701
+ onBenefitUpdated?: (payload: WebhookBenefitUpdatedPayload) => Promise<void>;
702
+ /**
703
+ * Webhook for benefit grant created
704
+ */
705
+ onBenefitGrantCreated?: (payload: WebhookBenefitGrantCreatedPayload) => Promise<void>;
706
+ /**
707
+ * Webhook for benefit grant updated
708
+ */
709
+ onBenefitGrantUpdated?: (payload: WebhookBenefitGrantUpdatedPayload) => Promise<void>;
710
+ /**
711
+ * Webhook for benefit grant revoked
712
+ */
713
+ onBenefitGrantRevoked?: (payload: WebhookBenefitGrantRevokedPayload) => Promise<void>;
714
+ /**
715
+ * Webhook for customer created
716
+ */
717
+ onCustomerCreated?: (payload: WebhookCustomerCreatedPayload) => Promise<void>;
718
+ /**
719
+ * Webhook for customer updated
720
+ */
721
+ onCustomerUpdated?: (payload: WebhookCustomerUpdatedPayload) => Promise<void>;
722
+ /**
723
+ * Webhook for customer deleted
724
+ */
725
+ onCustomerDeleted?: (payload: WebhookCustomerDeletedPayload) => Promise<void>;
726
+ /**
727
+ * Webhook for customer state changed
728
+ */
729
+ onCustomerStateChanged?: (payload: WebhookCustomerStateChangedPayload) => Promise<void>;
730
+ }
731
+ declare const webhooks: (options: WebhooksOptions) => (_polar: Polar) => {
732
+ polarWebhooks: {
733
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
734
+ body?: undefined;
735
+ } & {
736
+ method?: "POST" | undefined;
737
+ } & {
738
+ query?: Record<string, any> | undefined;
739
+ } & {
740
+ params?: Record<string, any>;
741
+ } & {
742
+ request?: Request;
743
+ } & {
744
+ headers?: HeadersInit;
745
+ } & {
746
+ asResponse?: boolean;
747
+ returnHeaders?: boolean;
748
+ use?: better_auth.Middleware[];
749
+ path?: string;
750
+ } & {
751
+ asResponse?: AsResponse | undefined;
752
+ returnHeaders?: ReturnHeaders | undefined;
753
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
754
+ headers: Headers;
755
+ response: {
756
+ received: boolean;
757
+ };
758
+ } : {
759
+ received: boolean;
760
+ }>;
761
+ options: {
762
+ method: "POST";
763
+ metadata: {
764
+ isAction: boolean;
765
+ };
766
+ cloneRequest: true;
767
+ } & {
768
+ use: any[];
769
+ };
770
+ path: "/polar/webhooks";
771
+ };
772
+ };
773
+
33
774
  type Product = {
34
775
  /**
35
776
  * Product Id from Polar Product
@@ -40,6 +781,8 @@ type Product = {
40
781
  */
41
782
  slug: string;
42
783
  };
784
+ type PolarPlugin = ReturnType<typeof checkout> | ReturnType<typeof usage> | ReturnType<typeof portal> | ReturnType<typeof webhooks>;
785
+ type PolarPlugins = [PolarPlugin, ...PolarPlugin[]];
43
786
  interface PolarOptions {
44
787
  /**
45
788
  * Polar Client
@@ -57,161 +800,96 @@ interface PolarOptions {
57
800
  */
58
801
  getCustomerCreateParams?: (data: {
59
802
  user: User;
60
- session: Session;
61
803
  }, request?: Request) => Promise<{
62
804
  metadata?: Record<string, string>;
63
805
  }>;
64
806
  /**
65
- * Enable customer portal
66
- */
67
- enableCustomerPortal?: boolean;
68
- /**
69
- * Subscriptions
70
- */
71
- checkout?: {
72
- /**
73
- * Enable checkout
74
- */
75
- enabled: boolean;
76
- /**
77
- * List of products
78
- */
79
- products: Product[] | (() => Promise<Product[]>);
80
- /**
81
- * Checkout Success URL
82
- */
83
- successUrl?: string;
84
- /**
85
- * Only allow authenticated customers to checkout
86
- */
87
- authenticatedUsersOnly?: boolean;
88
- };
89
- /**
90
- * Webhooks
91
- */
92
- webhooks?: {
93
- /**
94
- * Webhook Secret
95
- */
96
- secret: string;
97
- /**
98
- * Generic handler for all webhooks
99
- */
100
- onPayload?: (payload: ReturnType<typeof validateEvent>) => Promise<void>;
101
- /**
102
- * Webhook for checkout created
103
- */
104
- onCheckoutCreated?: (payload: WebhookCheckoutCreatedPayload) => Promise<void>;
105
- /**
106
- * Webhook for checkout updated
107
- */
108
- onCheckoutUpdated?: (payload: WebhookCheckoutUpdatedPayload) => Promise<void>;
109
- /**
110
- * Webhook for order created
111
- */
112
- onOrderCreated?: (payload: WebhookOrderCreatedPayload) => Promise<void>;
113
- /**
114
- * Webhook for order refunded
115
- */
116
- onOrderRefunded?: (payload: WebhookOrderRefundedPayload) => Promise<void>;
117
- /**
118
- * Webhook for order paid
119
- */
120
- onOrderPaid?: (payload: WebhookOrderPaidPayload) => Promise<void>;
121
- /**
122
- * Webhook for refund created
123
- */
124
- onRefundCreated?: (payload: WebhookRefundCreatedPayload) => Promise<void>;
125
- /**
126
- * Webhook for refund updated
127
- */
128
- onRefundUpdated?: (payload: WebhookRefundUpdatedPayload) => Promise<void>;
129
- /**
130
- * Webhook for subscription created
131
- */
132
- onSubscriptionCreated?: (payload: WebhookSubscriptionCreatedPayload) => Promise<void>;
133
- /**
134
- * Webhook for subscription updated
135
- */
136
- onSubscriptionUpdated?: (payload: WebhookSubscriptionUpdatedPayload) => Promise<void>;
137
- /**
138
- * Webhook for subscription active
139
- */
140
- onSubscriptionActive?: (payload: WebhookSubscriptionActivePayload) => Promise<void>;
141
- /**
142
- * Webhook for subscription canceled
143
- */
144
- onSubscriptionCanceled?: (payload: WebhookSubscriptionCanceledPayload) => Promise<void>;
145
- /**
146
- * Webhook for subscription revoked
147
- */
148
- onSubscriptionRevoked?: (payload: WebhookSubscriptionRevokedPayload) => Promise<void>;
149
- /**
150
- * Webhook for subscription uncanceled
151
- */
152
- onSubscriptionUncanceled?: (payload: WebhookSubscriptionUncanceledPayload) => Promise<void>;
153
- /**
154
- * Webhook for product created
155
- */
156
- onProductCreated?: (payload: WebhookProductCreatedPayload) => Promise<void>;
157
- /**
158
- * Webhook for product updated
159
- */
160
- onProductUpdated?: (payload: WebhookProductUpdatedPayload) => Promise<void>;
161
- /**
162
- * Webhook for organization updated
163
- */
164
- onOrganizationUpdated?: (payload: WebhookOrganizationUpdatedPayload) => Promise<void>;
165
- /**
166
- * Webhook for benefit created
167
- */
168
- onBenefitCreated?: (payload: WebhookBenefitCreatedPayload) => Promise<void>;
169
- /**
170
- * Webhook for benefit updated
171
- */
172
- onBenefitUpdated?: (payload: WebhookBenefitUpdatedPayload) => Promise<void>;
173
- /**
174
- * Webhook for benefit grant created
175
- */
176
- onBenefitGrantCreated?: (payload: WebhookBenefitGrantCreatedPayload) => Promise<void>;
177
- /**
178
- * Webhook for benefit grant updated
179
- */
180
- onBenefitGrantUpdated?: (payload: WebhookBenefitGrantUpdatedPayload) => Promise<void>;
181
- /**
182
- * Webhook for benefit grant revoked
183
- */
184
- onBenefitGrantRevoked?: (payload: WebhookBenefitGrantRevokedPayload) => Promise<void>;
185
- /**
186
- * Webhook for customer created
187
- */
188
- onCustomerCreated?: (payload: WebhookCustomerCreatedPayload) => Promise<void>;
189
- /**
190
- * Webhook for customer updated
191
- */
192
- onCustomerUpdated?: (payload: WebhookCustomerUpdatedPayload) => Promise<void>;
193
- /**
194
- * Webhook for customer deleted
195
- */
196
- onCustomerDeleted?: (payload: WebhookCustomerDeletedPayload) => Promise<void>;
197
- /**
198
- * Webhook for customer state changed
199
- */
200
- onCustomerStateChanged?: (payload: WebhookCustomerStateChangedPayload) => Promise<void>;
201
- };
807
+ * Use Polar plugins
808
+ */
809
+ use: PolarPlugins;
202
810
  }
203
811
 
812
+ declare const polarClient: () => {
813
+ id: "polar-client";
814
+ $InferServerPlugin: ReturnType<typeof polar>;
815
+ };
816
+
204
817
  declare const polar: <O extends PolarOptions>(options: O) => {
205
818
  id: "polar";
206
819
  endpoints: {
207
- polarCheckout: {
820
+ checkout: {
821
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
822
+ body: {
823
+ products?: string | string[] | undefined;
824
+ slug?: string | undefined;
825
+ referenceId?: string | undefined;
826
+ customFieldData?: Record<string, string | number | boolean> | undefined;
827
+ metadata?: Record<string, string | number | boolean> | undefined;
828
+ };
829
+ } & {
830
+ method?: "POST" | undefined;
831
+ } & {
832
+ query?: Record<string, any> | undefined;
833
+ } & {
834
+ params?: Record<string, any>;
835
+ } & {
836
+ request?: Request;
837
+ } & {
838
+ headers?: HeadersInit;
839
+ } & {
840
+ asResponse?: boolean;
841
+ returnHeaders?: boolean;
842
+ use?: better_auth.Middleware[];
843
+ path?: string;
844
+ } & {
845
+ asResponse?: AsResponse | undefined;
846
+ returnHeaders?: ReturnHeaders | undefined;
847
+ }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
848
+ headers: Headers;
849
+ response: {
850
+ url: string;
851
+ redirect: boolean;
852
+ };
853
+ } : {
854
+ url: string;
855
+ redirect: boolean;
856
+ }>;
857
+ options: {
858
+ method: "POST";
859
+ body: zod.ZodObject<{
860
+ products: zod.ZodOptional<zod.ZodUnion<[zod.ZodArray<zod.ZodString, "many">, zod.ZodString]>>;
861
+ slug: zod.ZodOptional<zod.ZodString>;
862
+ referenceId: zod.ZodOptional<zod.ZodString>;
863
+ customFieldData: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodString, zod.ZodNumber, zod.ZodBoolean]>>>;
864
+ metadata: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodString, zod.ZodNumber, zod.ZodBoolean]>>>;
865
+ }, "strip", zod.ZodTypeAny, {
866
+ products?: string | string[] | undefined;
867
+ slug?: string | undefined;
868
+ referenceId?: string | undefined;
869
+ customFieldData?: Record<string, string | number | boolean> | undefined;
870
+ metadata?: Record<string, string | number | boolean> | undefined;
871
+ }, {
872
+ products?: string | string[] | undefined;
873
+ slug?: string | undefined;
874
+ referenceId?: string | undefined;
875
+ customFieldData?: Record<string, string | number | boolean> | undefined;
876
+ metadata?: Record<string, string | number | boolean> | undefined;
877
+ }>;
878
+ } & {
879
+ use: any[];
880
+ };
881
+ path: "/checkout";
882
+ };
883
+ } | {
884
+ meters: {
208
885
  <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
209
886
  body?: undefined;
210
887
  } & {
211
888
  method?: "GET" | undefined;
212
889
  } & {
213
890
  query: {
214
- products: string | string[];
891
+ page?: number | undefined;
892
+ limit?: number | undefined;
215
893
  };
216
894
  } & {
217
895
  params?: Record<string, any>;
@@ -229,33 +907,64 @@ declare const polar: <O extends PolarOptions>(options: O) => {
229
907
  returnHeaders?: ReturnHeaders | undefined;
230
908
  }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
231
909
  headers: Headers;
232
- response: better_auth.APIError;
233
- } : better_auth.APIError>;
910
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalcustomermeterslist_js.CustomerPortalCustomerMetersListResponse, {
911
+ page: number;
912
+ }>;
913
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalcustomermeterslist_js.CustomerPortalCustomerMetersListResponse, {
914
+ page: number;
915
+ }>>;
234
916
  options: {
235
917
  method: "GET";
918
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
919
+ session: {
920
+ session: Record<string, any> & {
921
+ id: string;
922
+ createdAt: Date;
923
+ updatedAt: Date;
924
+ userId: string;
925
+ expiresAt: Date;
926
+ token: string;
927
+ ipAddress?: string | null | undefined;
928
+ userAgent?: string | null | undefined;
929
+ };
930
+ user: Record<string, any> & {
931
+ id: string;
932
+ name: string;
933
+ email: string;
934
+ emailVerified: boolean;
935
+ createdAt: Date;
936
+ updatedAt: Date;
937
+ image?: string | null | undefined;
938
+ };
939
+ };
940
+ }>)[];
236
941
  query: zod.ZodObject<{
237
- products: zod.ZodUnion<[zod.ZodArray<zod.ZodString, "many">, zod.ZodString]>;
942
+ page: zod.ZodOptional<zod.ZodNumber>;
943
+ limit: zod.ZodOptional<zod.ZodNumber>;
238
944
  }, "strip", zod.ZodTypeAny, {
239
- products: string | string[];
945
+ page?: number | undefined;
946
+ limit?: number | undefined;
240
947
  }, {
241
- products: string | string[];
948
+ page?: number | undefined;
949
+ limit?: number | undefined;
242
950
  }>;
243
951
  } & {
244
952
  use: any[];
245
953
  };
246
- path: "/checkout";
954
+ path: "/usage/meters/list";
247
955
  };
248
- polarCheckoutWithSlug: {
956
+ ingestion: {
249
957
  <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
250
- body?: undefined;
958
+ body: {
959
+ metadata: Record<string, string | number | boolean>;
960
+ event: string;
961
+ };
251
962
  } & {
252
- method?: "GET" | undefined;
963
+ method?: "POST" | undefined;
253
964
  } & {
254
965
  query?: Record<string, any> | undefined;
255
966
  } & {
256
- params: {
257
- slug: string;
258
- };
967
+ params?: Record<string, any>;
259
968
  } & {
260
969
  request?: Request;
261
970
  } & {
@@ -270,27 +979,54 @@ declare const polar: <O extends PolarOptions>(options: O) => {
270
979
  returnHeaders?: ReturnHeaders | undefined;
271
980
  }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
272
981
  headers: Headers;
273
- response: better_auth.APIError;
274
- } : better_auth.APIError>;
982
+ response: _polar_sh_sdk_models_components_eventsingestresponse_js.EventsIngestResponse;
983
+ } : _polar_sh_sdk_models_components_eventsingestresponse_js.EventsIngestResponse>;
275
984
  options: {
276
- method: "GET";
277
- params: zod.ZodObject<{
278
- slug: zod.ZodString;
985
+ method: "POST";
986
+ body: zod.ZodObject<{
987
+ event: zod.ZodString;
988
+ metadata: zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodString, zod.ZodNumber, zod.ZodBoolean]>>;
279
989
  }, "strip", zod.ZodTypeAny, {
280
- slug: string;
990
+ metadata: Record<string, string | number | boolean>;
991
+ event: string;
281
992
  }, {
282
- slug: string;
993
+ metadata: Record<string, string | number | boolean>;
994
+ event: string;
283
995
  }>;
996
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
997
+ session: {
998
+ session: Record<string, any> & {
999
+ id: string;
1000
+ createdAt: Date;
1001
+ updatedAt: Date;
1002
+ userId: string;
1003
+ expiresAt: Date;
1004
+ token: string;
1005
+ ipAddress?: string | null | undefined;
1006
+ userAgent?: string | null | undefined;
1007
+ };
1008
+ user: Record<string, any> & {
1009
+ id: string;
1010
+ name: string;
1011
+ email: string;
1012
+ emailVerified: boolean;
1013
+ createdAt: Date;
1014
+ updatedAt: Date;
1015
+ image?: string | null | undefined;
1016
+ };
1017
+ };
1018
+ }>)[];
284
1019
  } & {
285
1020
  use: any[];
286
1021
  };
287
- path: "/checkout/:slug";
1022
+ path: "/usage/ingest";
288
1023
  };
289
- polarWebhooks: {
1024
+ } | {
1025
+ portal: {
290
1026
  <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
291
1027
  body?: undefined;
292
1028
  } & {
293
- method?: "POST" | undefined;
1029
+ method?: "GET" | undefined;
294
1030
  } & {
295
1031
  query?: Record<string, any> | undefined;
296
1032
  } & {
@@ -310,23 +1046,44 @@ declare const polar: <O extends PolarOptions>(options: O) => {
310
1046
  }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
311
1047
  headers: Headers;
312
1048
  response: {
313
- received: boolean;
1049
+ url: string;
1050
+ redirect: boolean;
314
1051
  };
315
1052
  } : {
316
- received: boolean;
1053
+ url: string;
1054
+ redirect: boolean;
317
1055
  }>;
318
1056
  options: {
319
- method: "POST";
320
- metadata: {
321
- isAction: boolean;
322
- };
323
- cloneRequest: true;
1057
+ method: "GET";
1058
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
1059
+ session: {
1060
+ session: Record<string, any> & {
1061
+ id: string;
1062
+ createdAt: Date;
1063
+ updatedAt: Date;
1064
+ userId: string;
1065
+ expiresAt: Date;
1066
+ token: string;
1067
+ ipAddress?: string | null | undefined;
1068
+ userAgent?: string | null | undefined;
1069
+ };
1070
+ user: Record<string, any> & {
1071
+ id: string;
1072
+ name: string;
1073
+ email: string;
1074
+ emailVerified: boolean;
1075
+ createdAt: Date;
1076
+ updatedAt: Date;
1077
+ image?: string | null | undefined;
1078
+ };
1079
+ };
1080
+ }>)[];
324
1081
  } & {
325
1082
  use: any[];
326
1083
  };
327
- path: "/polar/webhooks";
1084
+ path: "/customer/portal";
328
1085
  };
329
- polarCustomerPortal: {
1086
+ state: {
330
1087
  <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
331
1088
  body?: undefined;
332
1089
  } & {
@@ -349,8 +1106,8 @@ declare const polar: <O extends PolarOptions>(options: O) => {
349
1106
  returnHeaders?: ReturnHeaders | undefined;
350
1107
  }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
351
1108
  headers: Headers;
352
- response: better_auth.APIError;
353
- } : better_auth.APIError>;
1109
+ response: _polar_sh_sdk_models_components_customerstate_js.CustomerState;
1110
+ } : _polar_sh_sdk_models_components_customerstate_js.CustomerState>;
354
1111
  options: {
355
1112
  method: "GET";
356
1113
  use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
@@ -379,15 +1136,18 @@ declare const polar: <O extends PolarOptions>(options: O) => {
379
1136
  } & {
380
1137
  use: any[];
381
1138
  };
382
- path: "/portal";
1139
+ path: "/customer/state";
383
1140
  };
384
- polarCustomerState: {
1141
+ benefits: {
385
1142
  <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
386
1143
  body?: undefined;
387
1144
  } & {
388
1145
  method?: "GET" | undefined;
389
1146
  } & {
390
- query?: Record<string, any> | undefined;
1147
+ query?: {
1148
+ page?: number | undefined;
1149
+ limit?: number | undefined;
1150
+ } | undefined;
391
1151
  } & {
392
1152
  params?: Record<string, any>;
393
1153
  } & {
@@ -404,10 +1164,24 @@ declare const polar: <O extends PolarOptions>(options: O) => {
404
1164
  returnHeaders?: ReturnHeaders | undefined;
405
1165
  }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
406
1166
  headers: Headers;
407
- response: _polar_sh_sdk_models_components_customerstate_js.CustomerState;
408
- } : _polar_sh_sdk_models_components_customerstate_js.CustomerState>;
1167
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js.CustomerPortalBenefitGrantsListResponse, {
1168
+ page: number;
1169
+ }>;
1170
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js.CustomerPortalBenefitGrantsListResponse, {
1171
+ page: number;
1172
+ }>>;
409
1173
  options: {
410
1174
  method: "GET";
1175
+ query: zod.ZodOptional<zod.ZodObject<{
1176
+ page: zod.ZodOptional<zod.ZodNumber>;
1177
+ limit: zod.ZodOptional<zod.ZodNumber>;
1178
+ }, "strip", zod.ZodTypeAny, {
1179
+ page?: number | undefined;
1180
+ limit?: number | undefined;
1181
+ }, {
1182
+ page?: number | undefined;
1183
+ limit?: number | undefined;
1184
+ }>>;
411
1185
  use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
412
1186
  session: {
413
1187
  session: Record<string, any> & {
@@ -434,7 +1208,208 @@ declare const polar: <O extends PolarOptions>(options: O) => {
434
1208
  } & {
435
1209
  use: any[];
436
1210
  };
437
- path: "/state";
1211
+ path: "/customer/benefits/list";
1212
+ };
1213
+ subscriptions: {
1214
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
1215
+ body?: undefined;
1216
+ } & {
1217
+ method?: "GET" | undefined;
1218
+ } & {
1219
+ query?: {
1220
+ referenceId?: string | undefined;
1221
+ page?: number | undefined;
1222
+ limit?: number | undefined;
1223
+ active?: boolean | undefined;
1224
+ } | undefined;
1225
+ } & {
1226
+ params?: Record<string, any>;
1227
+ } & {
1228
+ request?: Request;
1229
+ } & {
1230
+ headers?: HeadersInit;
1231
+ } & {
1232
+ asResponse?: boolean;
1233
+ returnHeaders?: boolean;
1234
+ use?: better_auth.Middleware[];
1235
+ path?: string;
1236
+ } & {
1237
+ asResponse?: AsResponse | undefined;
1238
+ returnHeaders?: ReturnHeaders | undefined;
1239
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
1240
+ headers: Headers;
1241
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_subscriptionslist_js.SubscriptionsListResponse, {
1242
+ page: number;
1243
+ }> | _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalsubscriptionslist_js.CustomerPortalSubscriptionsListResponse, {
1244
+ page: number;
1245
+ }>;
1246
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_subscriptionslist_js.SubscriptionsListResponse, {
1247
+ page: number;
1248
+ }> | _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalsubscriptionslist_js.CustomerPortalSubscriptionsListResponse, {
1249
+ page: number;
1250
+ }>>;
1251
+ options: {
1252
+ method: "GET";
1253
+ query: zod.ZodOptional<zod.ZodObject<{
1254
+ referenceId: zod.ZodOptional<zod.ZodString>;
1255
+ page: zod.ZodOptional<zod.ZodNumber>;
1256
+ limit: zod.ZodOptional<zod.ZodNumber>;
1257
+ active: zod.ZodOptional<zod.ZodBoolean>;
1258
+ }, "strip", zod.ZodTypeAny, {
1259
+ referenceId?: string | undefined;
1260
+ page?: number | undefined;
1261
+ limit?: number | undefined;
1262
+ active?: boolean | undefined;
1263
+ }, {
1264
+ referenceId?: string | undefined;
1265
+ page?: number | undefined;
1266
+ limit?: number | undefined;
1267
+ active?: boolean | undefined;
1268
+ }>>;
1269
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
1270
+ session: {
1271
+ session: Record<string, any> & {
1272
+ id: string;
1273
+ createdAt: Date;
1274
+ updatedAt: Date;
1275
+ userId: string;
1276
+ expiresAt: Date;
1277
+ token: string;
1278
+ ipAddress?: string | null | undefined;
1279
+ userAgent?: string | null | undefined;
1280
+ };
1281
+ user: Record<string, any> & {
1282
+ id: string;
1283
+ name: string;
1284
+ email: string;
1285
+ emailVerified: boolean;
1286
+ createdAt: Date;
1287
+ updatedAt: Date;
1288
+ image?: string | null | undefined;
1289
+ };
1290
+ };
1291
+ }>)[];
1292
+ } & {
1293
+ use: any[];
1294
+ };
1295
+ path: "/customer/subscriptions/list";
1296
+ };
1297
+ orders: {
1298
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
1299
+ body?: undefined;
1300
+ } & {
1301
+ method?: "GET" | undefined;
1302
+ } & {
1303
+ query?: {
1304
+ page?: number | undefined;
1305
+ limit?: number | undefined;
1306
+ productBillingType?: "recurring" | "one_time" | undefined;
1307
+ } | undefined;
1308
+ } & {
1309
+ params?: Record<string, any>;
1310
+ } & {
1311
+ request?: Request;
1312
+ } & {
1313
+ headers?: HeadersInit;
1314
+ } & {
1315
+ asResponse?: boolean;
1316
+ returnHeaders?: boolean;
1317
+ use?: better_auth.Middleware[];
1318
+ path?: string;
1319
+ } & {
1320
+ asResponse?: AsResponse | undefined;
1321
+ returnHeaders?: ReturnHeaders | undefined;
1322
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
1323
+ headers: Headers;
1324
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalorderslist_js.CustomerPortalOrdersListResponse, {
1325
+ page: number;
1326
+ }>;
1327
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalorderslist_js.CustomerPortalOrdersListResponse, {
1328
+ page: number;
1329
+ }>>;
1330
+ options: {
1331
+ method: "GET";
1332
+ query: zod.ZodOptional<zod.ZodObject<{
1333
+ page: zod.ZodOptional<zod.ZodNumber>;
1334
+ limit: zod.ZodOptional<zod.ZodNumber>;
1335
+ productBillingType: zod.ZodOptional<zod.ZodEnum<["recurring", "one_time"]>>;
1336
+ }, "strip", zod.ZodTypeAny, {
1337
+ page?: number | undefined;
1338
+ limit?: number | undefined;
1339
+ productBillingType?: "recurring" | "one_time" | undefined;
1340
+ }, {
1341
+ page?: number | undefined;
1342
+ limit?: number | undefined;
1343
+ productBillingType?: "recurring" | "one_time" | undefined;
1344
+ }>>;
1345
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
1346
+ session: {
1347
+ session: Record<string, any> & {
1348
+ id: string;
1349
+ createdAt: Date;
1350
+ updatedAt: Date;
1351
+ userId: string;
1352
+ expiresAt: Date;
1353
+ token: string;
1354
+ ipAddress?: string | null | undefined;
1355
+ userAgent?: string | null | undefined;
1356
+ };
1357
+ user: Record<string, any> & {
1358
+ id: string;
1359
+ name: string;
1360
+ email: string;
1361
+ emailVerified: boolean;
1362
+ createdAt: Date;
1363
+ updatedAt: Date;
1364
+ image?: string | null | undefined;
1365
+ };
1366
+ };
1367
+ }>)[];
1368
+ } & {
1369
+ use: any[];
1370
+ };
1371
+ path: "/customer/orders/list";
1372
+ };
1373
+ } | {
1374
+ polarWebhooks: {
1375
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
1376
+ body?: undefined;
1377
+ } & {
1378
+ method?: "POST" | undefined;
1379
+ } & {
1380
+ query?: Record<string, any> | undefined;
1381
+ } & {
1382
+ params?: Record<string, any>;
1383
+ } & {
1384
+ request?: Request;
1385
+ } & {
1386
+ headers?: HeadersInit;
1387
+ } & {
1388
+ asResponse?: boolean;
1389
+ returnHeaders?: boolean;
1390
+ use?: better_auth.Middleware[];
1391
+ path?: string;
1392
+ } & {
1393
+ asResponse?: AsResponse | undefined;
1394
+ returnHeaders?: ReturnHeaders | undefined;
1395
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
1396
+ headers: Headers;
1397
+ response: {
1398
+ received: boolean;
1399
+ };
1400
+ } : {
1401
+ received: boolean;
1402
+ }>;
1403
+ options: {
1404
+ method: "POST";
1405
+ metadata: {
1406
+ isAction: boolean;
1407
+ };
1408
+ cloneRequest: true;
1409
+ } & {
1410
+ use: any[];
1411
+ };
1412
+ path: "/polar/webhooks";
438
1413
  };
439
1414
  };
440
1415
  init(): {
@@ -453,4 +1428,4 @@ declare const polar: <O extends PolarOptions>(options: O) => {
453
1428
  };
454
1429
  };
455
1430
 
456
- export { polar };
1431
+ export { type CheckoutOptions, type UsageOptions, type WebhooksOptions, checkout, polar, polarClient, portal, usage, webhooks };