@polar-sh/better-auth 0.1.2 → 1.0.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.cts CHANGED
@@ -1,5 +1,13 @@
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
12
  import { User, Session } from 'better-auth';
5
13
  import { Polar } from '@polar-sh/sdk';
@@ -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
@@ -62,156 +805,92 @@ interface PolarOptions {
62
805
  metadata?: Record<string, string>;
63
806
  }>;
64
807
  /**
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
- };
808
+ * Use Polar plugins
809
+ */
810
+ use: PolarPlugins;
202
811
  }
203
812
 
813
+ declare const polarClient: () => {
814
+ id: "polar-client";
815
+ $InferServerPlugin: ReturnType<typeof polar>;
816
+ };
817
+
204
818
  declare const polar: <O extends PolarOptions>(options: O) => {
205
819
  id: "polar";
206
820
  endpoints: {
207
- polarCheckout: {
821
+ checkout: {
822
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
823
+ body: {
824
+ products?: string | string[] | undefined;
825
+ slug?: string | undefined;
826
+ referenceId?: string | undefined;
827
+ customFieldData?: Record<string, string | number | boolean> | undefined;
828
+ metadata?: Record<string, string | number | boolean> | undefined;
829
+ };
830
+ } & {
831
+ method?: "POST" | undefined;
832
+ } & {
833
+ query?: Record<string, any> | undefined;
834
+ } & {
835
+ params?: Record<string, any>;
836
+ } & {
837
+ request?: Request;
838
+ } & {
839
+ headers?: HeadersInit;
840
+ } & {
841
+ asResponse?: boolean;
842
+ returnHeaders?: boolean;
843
+ use?: better_auth.Middleware[];
844
+ path?: string;
845
+ } & {
846
+ asResponse?: AsResponse | undefined;
847
+ returnHeaders?: ReturnHeaders | undefined;
848
+ }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
849
+ headers: Headers;
850
+ response: {
851
+ url: string;
852
+ redirect: boolean;
853
+ };
854
+ } : {
855
+ url: string;
856
+ redirect: boolean;
857
+ }>;
858
+ options: {
859
+ method: "POST";
860
+ body: zod.ZodObject<{
861
+ products: zod.ZodOptional<zod.ZodUnion<[zod.ZodArray<zod.ZodString, "many">, zod.ZodString]>>;
862
+ slug: zod.ZodOptional<zod.ZodString>;
863
+ referenceId: zod.ZodOptional<zod.ZodString>;
864
+ customFieldData: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodString, zod.ZodNumber, zod.ZodBoolean]>>>;
865
+ metadata: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodString, zod.ZodNumber, zod.ZodBoolean]>>>;
866
+ }, "strip", zod.ZodTypeAny, {
867
+ products?: string | string[] | undefined;
868
+ slug?: string | undefined;
869
+ referenceId?: string | undefined;
870
+ customFieldData?: Record<string, string | number | boolean> | undefined;
871
+ metadata?: Record<string, string | number | boolean> | undefined;
872
+ }, {
873
+ products?: string | string[] | undefined;
874
+ slug?: string | undefined;
875
+ referenceId?: string | undefined;
876
+ customFieldData?: Record<string, string | number | boolean> | undefined;
877
+ metadata?: Record<string, string | number | boolean> | undefined;
878
+ }>;
879
+ } & {
880
+ use: any[];
881
+ };
882
+ path: "/checkout";
883
+ };
884
+ } | {
885
+ meters: {
208
886
  <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
209
887
  body?: undefined;
210
888
  } & {
211
889
  method?: "GET" | undefined;
212
890
  } & {
213
891
  query: {
214
- products: string | string[];
892
+ page?: number | undefined;
893
+ limit?: number | undefined;
215
894
  };
216
895
  } & {
217
896
  params?: Record<string, any>;
@@ -229,33 +908,64 @@ declare const polar: <O extends PolarOptions>(options: O) => {
229
908
  returnHeaders?: ReturnHeaders | undefined;
230
909
  }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
231
910
  headers: Headers;
232
- response: better_auth.APIError;
233
- } : better_auth.APIError>;
911
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalcustomermeterslist_js.CustomerPortalCustomerMetersListResponse, {
912
+ page: number;
913
+ }>;
914
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalcustomermeterslist_js.CustomerPortalCustomerMetersListResponse, {
915
+ page: number;
916
+ }>>;
234
917
  options: {
235
918
  method: "GET";
919
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
920
+ session: {
921
+ session: Record<string, any> & {
922
+ id: string;
923
+ createdAt: Date;
924
+ updatedAt: Date;
925
+ userId: string;
926
+ expiresAt: Date;
927
+ token: string;
928
+ ipAddress?: string | null | undefined;
929
+ userAgent?: string | null | undefined;
930
+ };
931
+ user: Record<string, any> & {
932
+ id: string;
933
+ name: string;
934
+ email: string;
935
+ emailVerified: boolean;
936
+ createdAt: Date;
937
+ updatedAt: Date;
938
+ image?: string | null | undefined;
939
+ };
940
+ };
941
+ }>)[];
236
942
  query: zod.ZodObject<{
237
- products: zod.ZodUnion<[zod.ZodArray<zod.ZodString, "many">, zod.ZodString]>;
943
+ page: zod.ZodOptional<zod.ZodNumber>;
944
+ limit: zod.ZodOptional<zod.ZodNumber>;
238
945
  }, "strip", zod.ZodTypeAny, {
239
- products: string | string[];
946
+ page?: number | undefined;
947
+ limit?: number | undefined;
240
948
  }, {
241
- products: string | string[];
949
+ page?: number | undefined;
950
+ limit?: number | undefined;
242
951
  }>;
243
952
  } & {
244
953
  use: any[];
245
954
  };
246
- path: "/checkout";
955
+ path: "/usage/meters/list";
247
956
  };
248
- polarCheckoutWithSlug: {
957
+ ingestion: {
249
958
  <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0: {
250
- body?: undefined;
959
+ body: {
960
+ metadata: Record<string, string | number | boolean>;
961
+ event: string;
962
+ };
251
963
  } & {
252
- method?: "GET" | undefined;
964
+ method?: "POST" | undefined;
253
965
  } & {
254
966
  query?: Record<string, any> | undefined;
255
967
  } & {
256
- params: {
257
- slug: string;
258
- };
968
+ params?: Record<string, any>;
259
969
  } & {
260
970
  request?: Request;
261
971
  } & {
@@ -270,27 +980,54 @@ declare const polar: <O extends PolarOptions>(options: O) => {
270
980
  returnHeaders?: ReturnHeaders | undefined;
271
981
  }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
272
982
  headers: Headers;
273
- response: better_auth.APIError;
274
- } : better_auth.APIError>;
983
+ response: _polar_sh_sdk_models_components_eventsingestresponse_js.EventsIngestResponse;
984
+ } : _polar_sh_sdk_models_components_eventsingestresponse_js.EventsIngestResponse>;
275
985
  options: {
276
- method: "GET";
277
- params: zod.ZodObject<{
278
- slug: zod.ZodString;
986
+ method: "POST";
987
+ body: zod.ZodObject<{
988
+ event: zod.ZodString;
989
+ metadata: zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodString, zod.ZodNumber, zod.ZodBoolean]>>;
279
990
  }, "strip", zod.ZodTypeAny, {
280
- slug: string;
991
+ metadata: Record<string, string | number | boolean>;
992
+ event: string;
281
993
  }, {
282
- slug: string;
994
+ metadata: Record<string, string | number | boolean>;
995
+ event: string;
283
996
  }>;
997
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
998
+ session: {
999
+ session: Record<string, any> & {
1000
+ id: string;
1001
+ createdAt: Date;
1002
+ updatedAt: Date;
1003
+ userId: string;
1004
+ expiresAt: Date;
1005
+ token: string;
1006
+ ipAddress?: string | null | undefined;
1007
+ userAgent?: string | null | undefined;
1008
+ };
1009
+ user: Record<string, any> & {
1010
+ id: string;
1011
+ name: string;
1012
+ email: string;
1013
+ emailVerified: boolean;
1014
+ createdAt: Date;
1015
+ updatedAt: Date;
1016
+ image?: string | null | undefined;
1017
+ };
1018
+ };
1019
+ }>)[];
284
1020
  } & {
285
1021
  use: any[];
286
1022
  };
287
- path: "/checkout/:slug";
1023
+ path: "/usage/ingest";
288
1024
  };
289
- polarWebhooks: {
1025
+ } | {
1026
+ portal: {
290
1027
  <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
291
1028
  body?: undefined;
292
1029
  } & {
293
- method?: "POST" | undefined;
1030
+ method?: "GET" | undefined;
294
1031
  } & {
295
1032
  query?: Record<string, any> | undefined;
296
1033
  } & {
@@ -310,23 +1047,44 @@ declare const polar: <O extends PolarOptions>(options: O) => {
310
1047
  }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
311
1048
  headers: Headers;
312
1049
  response: {
313
- received: boolean;
1050
+ url: string;
1051
+ redirect: boolean;
314
1052
  };
315
1053
  } : {
316
- received: boolean;
1054
+ url: string;
1055
+ redirect: boolean;
317
1056
  }>;
318
1057
  options: {
319
- method: "POST";
320
- metadata: {
321
- isAction: boolean;
322
- };
323
- cloneRequest: true;
1058
+ method: "GET";
1059
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
1060
+ session: {
1061
+ session: Record<string, any> & {
1062
+ id: string;
1063
+ createdAt: Date;
1064
+ updatedAt: Date;
1065
+ userId: string;
1066
+ expiresAt: Date;
1067
+ token: string;
1068
+ ipAddress?: string | null | undefined;
1069
+ userAgent?: string | null | undefined;
1070
+ };
1071
+ user: Record<string, any> & {
1072
+ id: string;
1073
+ name: string;
1074
+ email: string;
1075
+ emailVerified: boolean;
1076
+ createdAt: Date;
1077
+ updatedAt: Date;
1078
+ image?: string | null | undefined;
1079
+ };
1080
+ };
1081
+ }>)[];
324
1082
  } & {
325
1083
  use: any[];
326
1084
  };
327
- path: "/polar/webhooks";
1085
+ path: "/customer/portal";
328
1086
  };
329
- polarCustomerPortal: {
1087
+ state: {
330
1088
  <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
331
1089
  body?: undefined;
332
1090
  } & {
@@ -349,8 +1107,8 @@ declare const polar: <O extends PolarOptions>(options: O) => {
349
1107
  returnHeaders?: ReturnHeaders | undefined;
350
1108
  }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
351
1109
  headers: Headers;
352
- response: better_auth.APIError;
353
- } : better_auth.APIError>;
1110
+ response: _polar_sh_sdk_models_components_customerstate_js.CustomerState;
1111
+ } : _polar_sh_sdk_models_components_customerstate_js.CustomerState>;
354
1112
  options: {
355
1113
  method: "GET";
356
1114
  use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
@@ -379,15 +1137,18 @@ declare const polar: <O extends PolarOptions>(options: O) => {
379
1137
  } & {
380
1138
  use: any[];
381
1139
  };
382
- path: "/portal";
1140
+ path: "/customer/state";
383
1141
  };
384
- polarCustomerState: {
1142
+ benefits: {
385
1143
  <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
386
1144
  body?: undefined;
387
1145
  } & {
388
1146
  method?: "GET" | undefined;
389
1147
  } & {
390
- query?: Record<string, any> | undefined;
1148
+ query?: {
1149
+ page?: number | undefined;
1150
+ limit?: number | undefined;
1151
+ } | undefined;
391
1152
  } & {
392
1153
  params?: Record<string, any>;
393
1154
  } & {
@@ -404,10 +1165,24 @@ declare const polar: <O extends PolarOptions>(options: O) => {
404
1165
  returnHeaders?: ReturnHeaders | undefined;
405
1166
  }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
406
1167
  headers: Headers;
407
- response: _polar_sh_sdk_models_components_customerstate_js.CustomerState;
408
- } : _polar_sh_sdk_models_components_customerstate_js.CustomerState>;
1168
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js.CustomerPortalBenefitGrantsListResponse, {
1169
+ page: number;
1170
+ }>;
1171
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalbenefitgrantslist_js.CustomerPortalBenefitGrantsListResponse, {
1172
+ page: number;
1173
+ }>>;
409
1174
  options: {
410
1175
  method: "GET";
1176
+ query: zod.ZodOptional<zod.ZodObject<{
1177
+ page: zod.ZodOptional<zod.ZodNumber>;
1178
+ limit: zod.ZodOptional<zod.ZodNumber>;
1179
+ }, "strip", zod.ZodTypeAny, {
1180
+ page?: number | undefined;
1181
+ limit?: number | undefined;
1182
+ }, {
1183
+ page?: number | undefined;
1184
+ limit?: number | undefined;
1185
+ }>>;
411
1186
  use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
412
1187
  session: {
413
1188
  session: Record<string, any> & {
@@ -434,7 +1209,208 @@ declare const polar: <O extends PolarOptions>(options: O) => {
434
1209
  } & {
435
1210
  use: any[];
436
1211
  };
437
- path: "/state";
1212
+ path: "/customer/benefits/list";
1213
+ };
1214
+ subscriptions: {
1215
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
1216
+ body?: undefined;
1217
+ } & {
1218
+ method?: "GET" | undefined;
1219
+ } & {
1220
+ query?: {
1221
+ referenceId?: string | undefined;
1222
+ page?: number | undefined;
1223
+ limit?: number | undefined;
1224
+ active?: boolean | undefined;
1225
+ } | undefined;
1226
+ } & {
1227
+ params?: Record<string, any>;
1228
+ } & {
1229
+ request?: Request;
1230
+ } & {
1231
+ headers?: HeadersInit;
1232
+ } & {
1233
+ asResponse?: boolean;
1234
+ returnHeaders?: boolean;
1235
+ use?: better_auth.Middleware[];
1236
+ path?: string;
1237
+ } & {
1238
+ asResponse?: AsResponse | undefined;
1239
+ returnHeaders?: ReturnHeaders | undefined;
1240
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
1241
+ headers: Headers;
1242
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_subscriptionslist_js.SubscriptionsListResponse, {
1243
+ page: number;
1244
+ }> | _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalsubscriptionslist_js.CustomerPortalSubscriptionsListResponse, {
1245
+ page: number;
1246
+ }>;
1247
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_subscriptionslist_js.SubscriptionsListResponse, {
1248
+ page: number;
1249
+ }> | _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalsubscriptionslist_js.CustomerPortalSubscriptionsListResponse, {
1250
+ page: number;
1251
+ }>>;
1252
+ options: {
1253
+ method: "GET";
1254
+ query: zod.ZodOptional<zod.ZodObject<{
1255
+ referenceId: zod.ZodOptional<zod.ZodString>;
1256
+ page: zod.ZodOptional<zod.ZodNumber>;
1257
+ limit: zod.ZodOptional<zod.ZodNumber>;
1258
+ active: zod.ZodOptional<zod.ZodBoolean>;
1259
+ }, "strip", zod.ZodTypeAny, {
1260
+ referenceId?: string | undefined;
1261
+ page?: number | undefined;
1262
+ limit?: number | undefined;
1263
+ active?: boolean | undefined;
1264
+ }, {
1265
+ referenceId?: string | undefined;
1266
+ page?: number | undefined;
1267
+ limit?: number | undefined;
1268
+ active?: boolean | undefined;
1269
+ }>>;
1270
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
1271
+ session: {
1272
+ session: Record<string, any> & {
1273
+ id: string;
1274
+ createdAt: Date;
1275
+ updatedAt: Date;
1276
+ userId: string;
1277
+ expiresAt: Date;
1278
+ token: string;
1279
+ ipAddress?: string | null | undefined;
1280
+ userAgent?: string | null | undefined;
1281
+ };
1282
+ user: Record<string, any> & {
1283
+ id: string;
1284
+ name: string;
1285
+ email: string;
1286
+ emailVerified: boolean;
1287
+ createdAt: Date;
1288
+ updatedAt: Date;
1289
+ image?: string | null | undefined;
1290
+ };
1291
+ };
1292
+ }>)[];
1293
+ } & {
1294
+ use: any[];
1295
+ };
1296
+ path: "/customer/subscriptions/list";
1297
+ };
1298
+ orders: {
1299
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
1300
+ body?: undefined;
1301
+ } & {
1302
+ method?: "GET" | undefined;
1303
+ } & {
1304
+ query?: {
1305
+ page?: number | undefined;
1306
+ limit?: number | undefined;
1307
+ productBillingType?: "recurring" | "one_time" | undefined;
1308
+ } | undefined;
1309
+ } & {
1310
+ params?: Record<string, any>;
1311
+ } & {
1312
+ request?: Request;
1313
+ } & {
1314
+ headers?: HeadersInit;
1315
+ } & {
1316
+ asResponse?: boolean;
1317
+ returnHeaders?: boolean;
1318
+ use?: better_auth.Middleware[];
1319
+ path?: string;
1320
+ } & {
1321
+ asResponse?: AsResponse | undefined;
1322
+ returnHeaders?: ReturnHeaders | undefined;
1323
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
1324
+ headers: Headers;
1325
+ response: _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalorderslist_js.CustomerPortalOrdersListResponse, {
1326
+ page: number;
1327
+ }>;
1328
+ } : _polar_sh_sdk_types_operations_js.PageIterator<_polar_sh_sdk_models_operations_customerportalorderslist_js.CustomerPortalOrdersListResponse, {
1329
+ page: number;
1330
+ }>>;
1331
+ options: {
1332
+ method: "GET";
1333
+ query: zod.ZodOptional<zod.ZodObject<{
1334
+ page: zod.ZodOptional<zod.ZodNumber>;
1335
+ limit: zod.ZodOptional<zod.ZodNumber>;
1336
+ productBillingType: zod.ZodOptional<zod.ZodEnum<["recurring", "one_time"]>>;
1337
+ }, "strip", zod.ZodTypeAny, {
1338
+ page?: number | undefined;
1339
+ limit?: number | undefined;
1340
+ productBillingType?: "recurring" | "one_time" | undefined;
1341
+ }, {
1342
+ page?: number | undefined;
1343
+ limit?: number | undefined;
1344
+ productBillingType?: "recurring" | "one_time" | undefined;
1345
+ }>>;
1346
+ use: ((inputContext: better_auth.MiddlewareInputContext<better_auth.MiddlewareOptions>) => Promise<{
1347
+ session: {
1348
+ session: Record<string, any> & {
1349
+ id: string;
1350
+ createdAt: Date;
1351
+ updatedAt: Date;
1352
+ userId: string;
1353
+ expiresAt: Date;
1354
+ token: string;
1355
+ ipAddress?: string | null | undefined;
1356
+ userAgent?: string | null | undefined;
1357
+ };
1358
+ user: Record<string, any> & {
1359
+ id: string;
1360
+ name: string;
1361
+ email: string;
1362
+ emailVerified: boolean;
1363
+ createdAt: Date;
1364
+ updatedAt: Date;
1365
+ image?: string | null | undefined;
1366
+ };
1367
+ };
1368
+ }>)[];
1369
+ } & {
1370
+ use: any[];
1371
+ };
1372
+ path: "/customer/orders/list";
1373
+ };
1374
+ } | {
1375
+ polarWebhooks: {
1376
+ <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({
1377
+ body?: undefined;
1378
+ } & {
1379
+ method?: "POST" | undefined;
1380
+ } & {
1381
+ query?: Record<string, any> | undefined;
1382
+ } & {
1383
+ params?: Record<string, any>;
1384
+ } & {
1385
+ request?: Request;
1386
+ } & {
1387
+ headers?: HeadersInit;
1388
+ } & {
1389
+ asResponse?: boolean;
1390
+ returnHeaders?: boolean;
1391
+ use?: better_auth.Middleware[];
1392
+ path?: string;
1393
+ } & {
1394
+ asResponse?: AsResponse | undefined;
1395
+ returnHeaders?: ReturnHeaders | undefined;
1396
+ }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? {
1397
+ headers: Headers;
1398
+ response: {
1399
+ received: boolean;
1400
+ };
1401
+ } : {
1402
+ received: boolean;
1403
+ }>;
1404
+ options: {
1405
+ method: "POST";
1406
+ metadata: {
1407
+ isAction: boolean;
1408
+ };
1409
+ cloneRequest: true;
1410
+ } & {
1411
+ use: any[];
1412
+ };
1413
+ path: "/polar/webhooks";
438
1414
  };
439
1415
  };
440
1416
  init(): {
@@ -453,4 +1429,4 @@ declare const polar: <O extends PolarOptions>(options: O) => {
453
1429
  };
454
1430
  };
455
1431
 
456
- export { polar };
1432
+ export { type CheckoutOptions, type UsageOptions, type WebhooksOptions, checkout, polar, polarClient, portal, usage, webhooks };